{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "57eab5a3",
   "metadata": {},
   "source": [
    "(SequentialModeling)=\n",
    "# Sequential models and representation learning\n",
    "\n",
    "In credit card fraud detection, the choice of features is crucial for accurate classification. Considerable research effort has been dedicated to the development of features that are relevant to characterize fraudulent patterns. Feature engineering strategies based on feature aggregations have become commonly adopted {cite}`bahnsen2016feature`. Feature aggregation establishes a connection between the current transaction and other related transactions by computing statistics over their variables. They often originate from complex rules defined from human expertise, and many experiments report that they significantly improve detection {cite}`dal2014learned,jurgovsky2018sequence,dastidar2020nag`.\n",
    "\n",
    "Using feature aggregation for fraud detection is part of a research topic referred to as \"context-aware fraud detection\", where one considers the context (e.g. the cardholder history) associated with a transaction to make the decision. This allows, for instance, to give insights into the properties of the transaction relative to the usual purchase patterns of the cardholder and/or terminal, which is intuitively a relevant piece of information. \n",
    "\n",
    "## Context-aware fraud detection\n",
    "\n",
    "The context is established based on a landmark variable, which is in most of the cases the Customer ID. Concretely, one starts by building the sequence of historical transactions, chronologically ordered from the oldest to the current one, that have the same value for the landmark variable as the current transaction. \n",
    "\n",
    "![Building the transaction sequence](./images/transaction_sequence.png)\n",
    "\n",
    "\n",
    "This whole sequence is the raw basis for context-aware approaches. Indeed, the general process relies on the construction of new features or representations for each given transaction based on its contextual sequence. However, approaches can be divided into two broad categories, the first (Expert representations) relying on domain knowledge from experts to create rules and build feature aggregation, and the second (Automatic representations) oriented towards automated feature extraction strategies with deep learning models. \n",
    "\n",
    "### Expert representations\n",
    "\n",
    "To build expert features from the base sequence, a selection layer relying on expert constraints (same Merchant Category code, same Country, more recent than a week, etc.) is first applied to obtain a more specific subsequence. Then, an aggregation function (sum, avg, ...) is computed over the values of a chosen feature (e.g. amount) in the subsequence. For more details, {cite}`bahnsen2016feature` provides a formal definition of such feature aggregations. Expert features are not necessarily transferable in any fraud detection domain since they rely on specific features that might not always be available. Nevertheless, in practice, the landmark features, constraints features, and aggregated features are often chosen from a set of frequent attributes, comprising Time, Amount, Country, Merchant Category, Customer ID, transaction type.\n",
    "\n",
    "![Expert features creation](./images/expert_agg.png)\n",
    "\n",
    "\n",
    "### Automatic representations\n",
    "\n",
    "The other family of context-aware approaches considers the sequence directly as input in a model and lets it automatically learn the right connections to optimize fraud detection. The advantage of not relying on human knowledge to build the relevant features is obviously to save the costly resources and to ease adaptability and maintenance. Moreover, models can be pushed towards large architectures and learn very complex variable relationships automatically from data. However, it requires a sufficiently large dataset to properly identify the relevant patterns. Otherwise, the feature representations are not very accurate or useful. \n",
    "\n",
    "A baseline technique for automatic usage of contextual data would be to exploit the transaction sequence in its entirety (e.g. flattening it into a set of features), but this removes the information about the order and could lead to a very high dimensional feature space. A more popular strategy consists of (1) turning the sequences into fixed-size sequences and (2) using a special family of models that are able to deal with sequences naturally and summarizing them into relevant vector representations for fraud classification. \n",
    "\n",
    "This strategy is often referred to as sequential learning, the study of learning algorithms for sequential data. The sequential dependency between data points is learned at the algorithmic level. This includes sliding window methods, which often tend to ignore the order between data points within the window, but also models that are designed explicitly to consider the sequential order between consecutive data points (e.g. a Markov Chain). Such models can be found in the family of deep learning architectures under the *recurrent neural networks* category. The link between consecutive elements of the sequence is embedded in the design of the recurrent architecture, where the computation of the hidden state/layer of a more recent event depends on hidden states of previous events. \n",
    "\n",
    "![Illustration of a recurrent model](./images/recurrent_model.png)\n",
    "\n",
    "\n",
    "Sliding window methods include architectures like 1D *convolutional neural networks* (1D-CNN), and sequential methods include architectures like the *long short-term memory* (LSTM). Such architectures have proven to be very efficient in the context of fraud detection in the past {cite}`jurgovsky2018sequence`. \n",
    "\n",
    "In this section, the goal is to explore automatic representation learning from cardholders' sequences of transactions and its application in context-aware fraud detection. The content starts with the practical aspects of building the pipeline to manage sequential data. Then, three architectures are successively explored: a 1D-CNN, an LSTM, and a more complex model that uses an LSTM with *Attention* {cite}`bahdanau2014neural`. The section concludes on perspectives of other modeling possibilities such as sequence-to-sequence autoencoders {cite}`sutskever2014sequence,alazizi2020dual`, or other combinations of the explored models. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "606c7477",
   "metadata": {},
   "source": [
    "## Data processing\n",
    "\n",
    "With sequence modeling, the building of the data processing pipeline has special importance. In particular, as explained in the introduction, its role is to create the input sequences for the sequential models to learn the representations. \n",
    "\n",
    "The most popular landmark variable to establish the sequence is the Customer ID. Indeed, by the very definition of credit card fraud being a payment done by someone other than the cardholder, it makes the most sense to look at the history of the customer in order to determine when a card payment is fraudulent. \n",
    "\n",
    "Therefore, the goal here is to establish `Datasets` and `DataLoaders` that provide, given a transaction index in the dataset, the sequence of previous transactions (including the one referred by the index) from the same cardholder. Moreover, since models usually deal with fixed-sized sequences, the sequence length will be a parameter, and sequences that are too long (resp. too short) will be cut (resp. padded).\n",
    "\n",
    "As usual, let us start by loading a fixed training and validation period from the processed dataset."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a04be6e5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n",
      "                                 Dload  Upload   Total   Spent    Left  Speed\n",
      "100 63257  100 63257    0     0   537k      0 --:--:-- --:--:-- --:--:--  532k\n"
     ]
    }
   ],
   "source": [
    "# Initialization: Load shared functions and simulated data \n",
    "\n",
    "# Load shared functions\n",
    "!curl -O https://raw.githubusercontent.com/Fraud-Detection-Handbook/fraud-detection-handbook/main/Chapter_References/shared_functions.py\n",
    "%run shared_functions.py\n",
    "\n",
    "# Get simulated data from Github repository\n",
    "if not os.path.exists(\"simulated-data-transformed\"):\n",
    "    !git clone https://github.com/Fraud-Detection-Handbook/simulated-data-transformed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "dce44619",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Load  files\n",
      "CPU times: user 311 ms, sys: 237 ms, total: 548 ms\n",
      "Wall time: 570 ms\n",
      "919767 transactions loaded, containing 8195 fraudulent transactions\n"
     ]
    }
   ],
   "source": [
    "DIR_INPUT='simulated-data-transformed/data/' \n",
    "\n",
    "BEGIN_DATE = \"2018-06-11\"\n",
    "END_DATE = \"2018-09-14\"\n",
    "\n",
    "print(\"Load  files\")\n",
    "%time transactions_df=read_from_files(DIR_INPUT, BEGIN_DATE, END_DATE)\n",
    "print(\"{0} transactions loaded, containing {1} fraudulent transactions\".format(len(transactions_df),transactions_df.TX_FRAUD.sum()))\n",
    "\n",
    "output_feature=\"TX_FRAUD\"\n",
    "\n",
    "input_features=['TX_AMOUNT','TX_DURING_WEEKEND', 'TX_DURING_NIGHT', 'CUSTOMER_ID_NB_TX_1DAY_WINDOW',\n",
    "       'CUSTOMER_ID_AVG_AMOUNT_1DAY_WINDOW', 'CUSTOMER_ID_NB_TX_7DAY_WINDOW',\n",
    "       'CUSTOMER_ID_AVG_AMOUNT_7DAY_WINDOW', 'CUSTOMER_ID_NB_TX_30DAY_WINDOW',\n",
    "       'CUSTOMER_ID_AVG_AMOUNT_30DAY_WINDOW', 'TERMINAL_ID_NB_TX_1DAY_WINDOW',\n",
    "       'TERMINAL_ID_RISK_1DAY_WINDOW', 'TERMINAL_ID_NB_TX_7DAY_WINDOW',\n",
    "       'TERMINAL_ID_RISK_7DAY_WINDOW', 'TERMINAL_ID_NB_TX_30DAY_WINDOW',\n",
    "       'TERMINAL_ID_RISK_30DAY_WINDOW']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "29413f75",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set the starting day for the training period, and the deltas\n",
    "start_date_training = datetime.datetime.strptime(\"2018-07-25\", \"%Y-%m-%d\")\n",
    "delta_train=7\n",
    "delta_delay=7\n",
    "delta_test=7\n",
    "\n",
    "\n",
    "delta_valid = delta_test\n",
    "\n",
    "start_date_training_with_valid = start_date_training+datetime.timedelta(days=-(delta_delay+delta_valid))\n",
    "\n",
    "(train_df, valid_df)=get_train_test_set(transactions_df,start_date_training_with_valid,\n",
    "                                       delta_train=delta_train,delta_delay=delta_delay,delta_test=delta_test)\n",
    "\n",
    "# By default, scales input data\n",
    "(train_df, valid_df)=scaleData(train_df, valid_df,input_features)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "393b82f8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['TX_AMOUNT',\n",
       " 'TX_DURING_WEEKEND',\n",
       " 'TX_DURING_NIGHT',\n",
       " 'CUSTOMER_ID_NB_TX_1DAY_WINDOW',\n",
       " 'CUSTOMER_ID_AVG_AMOUNT_1DAY_WINDOW',\n",
       " 'CUSTOMER_ID_NB_TX_7DAY_WINDOW',\n",
       " 'CUSTOMER_ID_AVG_AMOUNT_7DAY_WINDOW',\n",
       " 'CUSTOMER_ID_NB_TX_30DAY_WINDOW',\n",
       " 'CUSTOMER_ID_AVG_AMOUNT_30DAY_WINDOW',\n",
       " 'TERMINAL_ID_NB_TX_1DAY_WINDOW',\n",
       " 'TERMINAL_ID_RISK_1DAY_WINDOW',\n",
       " 'TERMINAL_ID_NB_TX_7DAY_WINDOW',\n",
       " 'TERMINAL_ID_RISK_7DAY_WINDOW',\n",
       " 'TERMINAL_ID_NB_TX_30DAY_WINDOW',\n",
       " 'TERMINAL_ID_RISK_30DAY_WINDOW']"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "input_features"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "21539691",
   "metadata": {},
   "source": [
    "This time, additionally to the above features, building the sequences will require two additional fields from the DataFrames:\n",
    "* `CUSTOMER_ID`: the landmark variable that will be used to select past transactions.\n",
    "* `TX_DATETIME`: the time variable that will allow building sequences in chronological order."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "ac934721",
   "metadata": {},
   "outputs": [],
   "source": [
    "dates = train_df['TX_DATETIME'].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "f2f2e1eb",
   "metadata": {},
   "outputs": [],
   "source": [
    "customer_ids = train_df['CUSTOMER_ID'].values"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86bb7e26",
   "metadata": {},
   "source": [
    "There are multiple ways to implement sequence creation for training/validation. One way is to precompute, for each transaction, the indices of the previous transactions of the sequence and to store them. Then, to build the sequences of features on the fly from the indices. \n",
    "\n",
    "Here we propose some steps to proceed but keep in mind that other solutions are just as valid.\n",
    "\n",
    "### Setting the sequence length\n",
    "\n",
    "The first step is to set a sequence length. In the literature, 5 or 10 are two values that are often chosen {cite}`jurgovsky2018sequence`. This can later be a parameter to tune but here, let us arbitrarily set it to 5 to begin with. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "3c595c2d",
   "metadata": {},
   "outputs": [],
   "source": [
    "seq_len = 5"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7204f572",
   "metadata": {},
   "source": [
    "### Ordering elements chronologically\n",
    "\n",
    "In our case, transactions are already sorted, but in the most general case, to build the sequences, it is necessary to sort all transactions chronologically and keep the sorting indices:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "8ec07476",
   "metadata": {},
   "outputs": [],
   "source": [
    "indices_sort = np.argsort(dates)\n",
    "sorted_dates = dates[indices_sort]\n",
    "sorted_ids = customer_ids[indices_sort]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "57b8d5b2",
   "metadata": {},
   "source": [
    "### Separating data according to the landmark variable (Customer ID)\n",
    "\n",
    "After sorting, the dataset is a large sequence with all transactions from all cardholders. We can separate it into several sequences that each contain only the transactions of a single cardholder. Finally, each customer sequence can be turned into several fixed-size sequences using a sliding window and padding. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5127ea69",
   "metadata": {},
   "source": [
    "To separate the dataset, let us get the list of customers:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "dd26e1c1",
   "metadata": {},
   "outputs": [],
   "source": [
    "unique_customer_ids = np.unique(sorted_ids)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "2b20ddbb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "unique_customer_ids[0:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ffdc6b48",
   "metadata": {},
   "source": [
    "For each customer, the associated subsequence can be selected with a boolean mask. Here is for example the sequence of transaction IDs for customer `0`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "d6247ffe",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 1888, 10080, 12847, 15627, 18908, 22842, 37972, 42529, 44495,\n",
       "       48980, 58692, 63977])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "idx = 0\n",
    "current_customer_id = unique_customer_ids[idx]\n",
    "customer_mask = sorted_ids == current_customer_id\n",
    "# this is the full sequence of transaction indices (after sort) for customer 0\n",
    "customer_full_seq = np.where(customer_mask)[0]\n",
    "# this is the full sequence of transaction indices (before sort) for customer 0\n",
    "customer_full_seq_original_indices = indices_sort[customer_full_seq]\n",
    "customer_full_seq_original_indices"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "08149665",
   "metadata": {},
   "source": [
    "### Turning a customer sequence into fixed size sequences\n",
    "\n",
    "The above sequence is the whole sequence for customer `0`. But the goal is to have, for each transaction `i` of this sequence, a fixed size sequence that ends with transaction `i`, which will be used as input in the sequential model to predict the label of transaction `i`. In the example above:\n",
    "* For transaction 1888: the 4 previous transactions are [none,none,none,none] (Note: none can be replaced with a default value like -1). So the sequence [none, none, none, none, 1888] will be created.\n",
    "* For transaction 10080, the sequence will be [none, none, none, 1888, 10080]\n",
    "* ...\n",
    "* For transaction 37972, the sequence will be [12847, 15627, 18908, 22842, 37972]\n",
    "* Etc.\n",
    "\n",
    "Using a sliding window (or rolling window) allows to obtain those sequences:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "0883070a",
   "metadata": {},
   "outputs": [],
   "source": [
    "def rolling_window(array, window):\n",
    "    a = np.concatenate([np.ones((window-1,))*-1,array])\n",
    "    shape = a.shape[:-1] + (a.shape[-1] - window + 1, window)\n",
    "    strides = a.strides + (a.strides[-1],)\n",
    "    return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides).astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "de256456",
   "metadata": {},
   "outputs": [],
   "source": [
    "customer_all_seqs = rolling_window(customer_full_seq_original_indices,seq_len)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "079897a3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[   -1,    -1,    -1,    -1,  1888],\n",
       "       [   -1,    -1,    -1,  1888, 10080],\n",
       "       [   -1,    -1,  1888, 10080, 12847],\n",
       "       [   -1,  1888, 10080, 12847, 15627],\n",
       "       [ 1888, 10080, 12847, 15627, 18908],\n",
       "       [10080, 12847, 15627, 18908, 22842],\n",
       "       [12847, 15627, 18908, 22842, 37972],\n",
       "       [15627, 18908, 22842, 37972, 42529],\n",
       "       [18908, 22842, 37972, 42529, 44495],\n",
       "       [22842, 37972, 42529, 44495, 48980],\n",
       "       [37972, 42529, 44495, 48980, 58692],\n",
       "       [42529, 44495, 48980, 58692, 63977]])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "customer_all_seqs"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fe162a51",
   "metadata": {},
   "source": [
    "### Generating the sequences of transaction features on the fly from the sequences of indices\n",
    "\n",
    "From the indices' sequences and the features of each transaction (available in `x_train`), building the features sequences is straightforward. Let us do it for the 6th sequence:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "6b56d628",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([10080, 12847, 15627, 18908, 22842])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "customer_all_seqs[5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "fa5d392f",
   "metadata": {},
   "outputs": [],
   "source": [
    "x_train = torch.FloatTensor(train_df[input_features].values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "74c12951",
   "metadata": {},
   "outputs": [],
   "source": [
    "sixth_sequence = x_train[customer_all_seqs[5],:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "8fb17386",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([[ 0.6965, -0.6306,  2.1808, -0.8466,  0.0336, -1.1665,  0.0176, -0.9341,\n",
       "          0.2310, -0.9810, -0.0816, -0.3445, -0.1231, -0.2491, -0.1436],\n",
       "        [ 0.0358, -0.6306, -0.4586, -0.8466,  0.4450, -1.1665,  0.1112, -0.8994,\n",
       "          0.2278,  0.0028, -0.0816,  0.6425, -0.1231, -0.0082, -0.1436],\n",
       "        [ 1.1437, -0.6306, -0.4586, -0.3003,  0.7595, -1.0352,  0.2462, -0.8994,\n",
       "          0.2458,  1.9702, -0.0816,  1.3005, -0.1231,  1.7989, -0.1436],\n",
       "        [ 0.3645, -0.6306, -0.4586,  0.2461,  0.6804, -1.0352,  0.3186, -0.8647,\n",
       "          0.2514,  1.9702, -0.0816,  0.3135, -0.1231, -0.8514, -0.1436],\n",
       "        [ 0.3348, -0.6306, -0.4586, -0.3003,  0.7462, -1.1665,  0.2494, -0.8994,\n",
       "          0.2262, -0.9810, -0.0816, -2.3185, -0.1231, -1.5743, -0.1436]])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sixth_sequence"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "8be45d5b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([5, 15])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sixth_sequence.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "60c5c434",
   "metadata": {},
   "source": [
    "Note: Here, the sequence of indices (`customer_all_seqs[5]`) was made of valid indices. When there are invalid indices (`-1`), the idea is to put a \"padding transaction\" (e.g. with all features equal to zero or equal to the average value that they have in the training set) in the final sequence. To obtain a homogeneous code that can be used for both valid and invalid indices, on can append the \"padding transaction\" to `x_train` at the end and replace all `-1` with the index of this added transaction."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f0364431",
   "metadata": {},
   "source": [
    "### Efficient implementation with pandas and groupby\n",
    "\n",
    "The above steps are described for educational purposes as they allow to understand all the necessary operations to build the sequences of transactions. In practice, because this process requires a time-consuming loop over all Customer IDs, it is better to rely on a dataframe instead and use the pandas `groupby` function. More precisely, the idea is to group the elements of the transaction dataframe by Customer ID and to use the `shift` function to determine, for each transaction, the ones that occurred before. In order not to edit the original dataframe, let us first create a new one that only contains the necessary features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "10c73d1e",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_ids_dates = pd.DataFrame({'CUSTOMER_ID': customer_ids,\n",
    "        'TX_DATETIME': dates})\n",
    "\n",
    "#checking if the transaction are chronologically ordered\n",
    "datetime_diff = (df_ids_dates[\"TX_DATETIME\"] - df_ids_dates[\"TX_DATETIME\"].shift(1)).iloc[1:].dt.total_seconds()\n",
    "assert (datetime_diff >= 0).all()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ccfd793c",
   "metadata": {},
   "source": [
    "Let us now add a new column with the initial row indices, that will be later used with the `shift` function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "df85bf14",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_ids_dates[\"tmp_index\"]  = np.arange(len(df_ids_dates))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "1ad9ce0f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CUSTOMER_ID</th>\n",
       "      <th>TX_DATETIME</th>\n",
       "      <th>tmp_index</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>579</td>\n",
       "      <td>2018-07-11 00:00:54</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>181</td>\n",
       "      <td>2018-07-11 00:01:59</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4386</td>\n",
       "      <td>2018-07-11 00:03:39</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4599</td>\n",
       "      <td>2018-07-11 00:05:50</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4784</td>\n",
       "      <td>2018-07-11 00:06:04</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   CUSTOMER_ID         TX_DATETIME  tmp_index\n",
       "0          579 2018-07-11 00:00:54          0\n",
       "1          181 2018-07-11 00:01:59          1\n",
       "2         4386 2018-07-11 00:03:39          2\n",
       "3         4599 2018-07-11 00:05:50          3\n",
       "4         4784 2018-07-11 00:06:04          4"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_ids_dates.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "070b130f",
   "metadata": {},
   "source": [
    "The next step is to group the elements by Customer ID:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "4adcf41e",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_groupby_customer_id = df_ids_dates.groupby(\"CUSTOMER_ID\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b84e583c",
   "metadata": {},
   "source": [
    "Now it is possible to compute a shifted `tmp_index` with respect to the grouping by `CUSTOMER_ID`. For instance, shifting by 0 gives the current transaction index and shifting by 1 gives the previous transaction index (or NaN if the current transaction is the first transaction of the customer)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "a1f06ec4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0            0\n",
       "1            1\n",
       "2            2\n",
       "3            3\n",
       "4            4\n",
       "         ...  \n",
       "66923    66923\n",
       "66924    66924\n",
       "66925    66925\n",
       "66926    66926\n",
       "66927    66927\n",
       "Name: tmp_index, Length: 66928, dtype: int64"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_groupby_customer_id[\"tmp_index\"].shift(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "8c739ecd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0            NaN\n",
       "1            NaN\n",
       "2            NaN\n",
       "3            NaN\n",
       "4            NaN\n",
       "          ...   \n",
       "66923    66805.0\n",
       "66924    64441.0\n",
       "66925    66777.0\n",
       "66926    63338.0\n",
       "66927    60393.0\n",
       "Name: tmp_index, Length: 66928, dtype: float64"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_groupby_customer_id[\"tmp_index\"].shift(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dcf2e5b8",
   "metadata": {},
   "source": [
    "To obtain the whole sequences of indices, the only thing to do is to loop over the shift parameter, from `seq_len` - 1 to 0. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "069a3c29",
   "metadata": {},
   "outputs": [],
   "source": [
    "sequence_indices = pd.DataFrame(\n",
    "            {\n",
    "                \"tx_{}\".format(n): df_groupby_customer_id[\"tmp_index\"].shift(seq_len - n - 1)\n",
    "                for n in range(seq_len)\n",
    "            }\n",
    "        )\n",
    "\n",
    "sequence_indices = sequence_indices.fillna(-1).astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "3fdcc0e9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>tx_0</th>\n",
       "      <th>tx_1</th>\n",
       "      <th>tx_2</th>\n",
       "      <th>tx_3</th>\n",
       "      <th>tx_4</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   tx_0  tx_1  tx_2  tx_3  tx_4\n",
       "0    -1    -1    -1    -1     0\n",
       "1    -1    -1    -1    -1     1\n",
       "2    -1    -1    -1    -1     2\n",
       "3    -1    -1    -1    -1     3\n",
       "4    -1    -1    -1    -1     4"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sequence_indices.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "12a76240",
   "metadata": {},
   "source": [
    "As a sanity check, let us see if this method computes the same sequences as the previous method for transaction 12847, 15627 and 18908 which were (see 4.2.4):\n",
    "\n",
    "* [   -1,    -1,  1888, 10080, 12847]\n",
    "* [   -1,  1888, 10080, 12847, 15627]\n",
    "* [ 1888, 10080, 12847, 15627, 18908]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "2e8d7095",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[   -1    -1  1888 10080 12847]\n",
      "[   -1  1888 10080 12847 15627]\n",
      "[ 1888 10080 12847 15627 18908]\n"
     ]
    }
   ],
   "source": [
    "print(sequence_indices.loc[12847].values)\n",
    "print(sequence_indices.loc[15627].values)\n",
    "print(sequence_indices.loc[18908].values)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0db8c6c5",
   "metadata": {},
   "source": [
    "### Managing sequence creation into a torch Dataset\n",
    "\n",
    "Now that the process is ready and tested, the final step is to implement it within a torch `Dataset` to use it in a training loop. To simplify the usage, let us consider the \"zeros\" padding strategy as default. The precomputation of indices and the creation of the padding transaction (a transaction with all features to zero) will be done at initialization. Then, the `__getitem__` function will build the sequence of features on the fly. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "160fba8b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Selected device is cuda\n"
     ]
    }
   ],
   "source": [
    "if torch.cuda.is_available():\n",
    "    DEVICE = \"cuda\" \n",
    "else:\n",
    "    DEVICE = \"cpu\"\n",
    "print(\"Selected device is\",DEVICE)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "284aec31",
   "metadata": {},
   "outputs": [],
   "source": [
    "class FraudSequenceDataset(torch.utils.data.Dataset):\n",
    "    \n",
    "    def __init__(self, x,y,customer_ids, dates, seq_len, padding_mode = 'zeros', output=True):\n",
    "        'Initialization'\n",
    "        \n",
    "        # x,y,customer_ids, and dates must have the same length\n",
    "        \n",
    "        # storing the features x in self.features and adding the \"padding\" transaction at the end\n",
    "        if padding_mode == \"mean\":\n",
    "            self.features = torch.vstack([x, x.mean(axis=0)])\n",
    "        elif padding_mode == \"zeros\":\n",
    "            self.features = torch.vstack([x, torch.zeros(x[0,:].shape)])            \n",
    "        else:\n",
    "            raise ValueError('padding_mode must be \"mean\" or \"zeros\"')\n",
    "        self.y = y\n",
    "        self.customer_ids = customer_ids\n",
    "        self.dates = dates\n",
    "        self.seq_len = seq_len\n",
    "        self.output = output\n",
    "        \n",
    "        #===== computing sequences ids =====  \n",
    "        \n",
    "        \n",
    "        df_ids_dates = pd.DataFrame({'CUSTOMER_ID':customer_ids,\n",
    "        'TX_DATETIME':dates})\n",
    "        \n",
    "        df_ids_dates[\"tmp_index\"]  = np.arange(len(df_ids_dates))\n",
    "        df_groupby_customer_id = df_ids_dates.groupby(\"CUSTOMER_ID\")\n",
    "        sequence_indices = pd.DataFrame(\n",
    "            {\n",
    "                \"tx_{}\".format(n): df_groupby_customer_id[\"tmp_index\"].shift(seq_len - n - 1)\n",
    "                for n in range(seq_len)\n",
    "            }\n",
    "        )\n",
    "        \n",
    "        #replaces -1 (padding) with the index of the padding transaction (last index of self.features)\n",
    "        self.sequences_ids = sequence_indices.fillna(len(self.features) - 1).values.astype(int)              \n",
    "\n",
    "\n",
    "    def __len__(self):\n",
    "        'Denotes the total number of samples'\n",
    "        # not len(self.features) because of the added padding transaction\n",
    "        return len(self.customer_ids)\n",
    "\n",
    "    def __getitem__(self, index):\n",
    "        'Generates one sample of data'\n",
    "        # Select sample index\n",
    "        \n",
    "        tx_ids = self.sequences_ids[index]\n",
    "        \n",
    "        if self.output:\n",
    "            #transposing because the CNN considers the channel dimension before the sequence dimension\n",
    "            return self.features[tx_ids,:].transpose(0,1).to(DEVICE), self.y[index].to(DEVICE)\n",
    "        else:\n",
    "            return self.features[tx_ids,:].transpose(0,1).to(DEVICE)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "abcff0be",
   "metadata": {},
   "source": [
    "As a sanity check, let us try the `Dataset` within a `DataLoader`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "7c46f5e0",
   "metadata": {},
   "outputs": [],
   "source": [
    "x_train = torch.FloatTensor(train_df[input_features].values)\n",
    "x_valid = torch.FloatTensor(valid_df[input_features].values)\n",
    "y_train = torch.FloatTensor(train_df[output_feature].values)\n",
    "y_valid = torch.FloatTensor(valid_df[output_feature].values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "e97ce01b",
   "metadata": {},
   "outputs": [],
   "source": [
    "SEED = 42\n",
    "seed_everything(SEED)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "3eb88675",
   "metadata": {},
   "outputs": [],
   "source": [
    "train_loader_params = {'batch_size': 64,\n",
    "          'shuffle': True,\n",
    "          'num_workers': 0}\n",
    "\n",
    "\n",
    "# Generators\n",
    "\n",
    "training_set = FraudSequenceDataset(x_train, y_train,train_df['CUSTOMER_ID'].values, train_df['TX_DATETIME'].values,seq_len,padding_mode = \"zeros\")\n",
    "training_generator = torch.utils.data.DataLoader(training_set, **train_loader_params)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7bdec455",
   "metadata": {},
   "source": [
    "Let us see how the first training batch looks like:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "b1dac7ef",
   "metadata": {},
   "outputs": [],
   "source": [
    "x_batch, y_batch = next(iter(training_generator))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "1b8480ad",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([64, 15, 5])"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_batch.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "be664488",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([64])"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_batch.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b96c6dc9",
   "metadata": {},
   "source": [
    "The shape of `x_batch` is (`batch_size`= 64,`number of features`= 15, `seq_len`= 5) which is the expected input for a 1-D convolutional network or a recurrent model like an LSTM."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "36ff3efe",
   "metadata": {},
   "source": [
    "## Convolutional neural network for fraud detection"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7f18d259",
   "metadata": {},
   "source": [
    "Convolutional neural networks (CNN) are neural networks with specific convolutional layers that allow (1) detecting specific patterns or shapes in patches of input and (2) reducing spatial complexity when dealing with large inputs (e.g. an image with millions of pixels). \n",
    "\n",
    "To do that, they replace the regular fully connected layer with a layer of convolutional filters that performs a convolution operation over the input neurons. \n",
    "\n",
    "![Illustration of a 2D-convolutional layer](./images/convnet.png)\n",
    "\n",
    "A convolutional layer has `num_filters` filters, with weights of a chosen dimension. If we consider a 2D-convolutional layer, each filter has 2 dimensions (width and height). In the example above, we consider an 8x6 input and a 3x3 filter. The convolution operation consists in sliding the filter over the input from left to right and from up to bottom, and each time computing the weighted sum of the input patch using the filter weights and applying an activation function to obtain an output similar to a regular neuron. In the figure, we represent with dashed squares on the left the first two input patches that the filter goes through and on the right the two corresponding outputs. Here we considered a `stride` parameter of 1, which means that the filter slides by 1 input each time. There is no padding, so the filter does not slide outside of the input, therefore the result is a map of features of dimension (8-(3-1))x(6-(3-1)), i.e. 6x4. But one can apply padding (considering that values outside the input are zeros) so that the output feature map has the same dimension as the input. \n",
    "\n",
    "The convolution operation can be seen as a filter scanning the input to identify a specific pattern. The weights of the filters are learned by the model. Having multiple filters allows capturing multiple patterns that are useful to reduce the loss for the task at hand. \n",
    "\n",
    "In order to summarize the information in final layers or to save memory in intermediate ones, the obtained feature maps can be aggregated into smaller maps with pooling layers (average, max).\n",
    "\n",
    "### 1D-convolutions \n",
    "\n",
    "Note: Although not represented in the figure, if the input is an image, the input is in fact 3-dimensional (a 2D map of 3 features also called channels, namely RGB levels). The user only defines 2 dimensions for the filter (along the \"sliding\" directions) but the filters are in reality 3-dimensional as well, the last dimension matching the channel dimension.\n",
    "\n",
    "2D-convolutions are only used to analyze inputs for which it makes sense to slide along 2 dimensions. In our case, to deal with transaction sequences, it only makes sense to slide along the sequence axis. Therefore, for fraud detection, we resort to 1D-convolutions and define a single filter dimension (with length equal to the number of consecutive sequence elements on which the filter looks for patterns).\n",
    "\n",
    "### Stacking convolutional layers\n",
    "\n",
    "One can stack convolution layers just like fully connected layers. For instance, let us consider an input transaction sequence with 5 transactions and 15 features for each transaction. If one defines a convolutional neural network with a first 1D-convolutional layer with 100 filters of length 2 and a second convolutional layer with 50 filters of length 2. Without padding, the successive features map's dimension will be the following:\n",
    "* The input dimension is (5,15): 5 is the sequence length and 15 is the number of channels.\n",
    "* The output dimension of the first convolutional layer is (4,100): each filter of dimension (2,15) will output a 1D feature map with 5-(2-1) = 4 features.\n",
    "* The output dimension of the second convolutional layer is (3,50): each filter of dimension (2,100) will output a 1D feature map with 4-(2-1) = 3 features.\n",
    "\n",
    "With padding, we can make sure that the sequence length does not change and obtain the dimensions (5,100) and (5,50) instead of (4,100) and (3,50). \n",
    "\n",
    "### Classification with a convolutional neural network\n",
    "\n",
    "Convolutional layers produce high-level features that detect the presence of patterns or combinations of patterns within the input. These features can be considered as automatic feature aggregates and can then be used in a final regular fully connected layer for classification, after a flattening operation. This operation can be done using a pooling operator along the sequence dimension or with a flattening operator that simply concatenates the channels of all elements of the sequence into a single global vector. \n",
    "\n",
    "### Implementation\n",
    "\n",
    "Convolutional layers are defined like regular layers. Instead of using the `torch.nn.Linear` module, one uses the specific layers for convolutional neural networks:\n",
    "\n",
    "* `torch.nn.Conv1d`: this module defines a convolutional layer. The parameters are the number of input channels, the number of filters, and the dimension of the filters. \n",
    "* `torch.nn.ConstantPad1d`: this module allows us to pad a sequence with a constant value (e.g. 0) to obtain the desired sequence length after the subsequent convolutional layer.\n",
    "* `torch.nn.MaxPool1d` or `AvgPool1d`: these modules perform a pooling operation over the sequence dimension. \n",
    "\n",
    "Let us define a `FraudConvNet` module that makes use of the above `torch` modules to take as input a sequence of `seq_len` transactions with `len(input_features)` features and predict if the last transaction is fraudulent. We will consider 2 padded convolutional layers, a max-pooling layer, a hidden fully connected layer, and an output fully connected layer with 1 output neuron. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "6fcfe04d",
   "metadata": {},
   "outputs": [],
   "source": [
    "class FraudConvNet(torch.nn.Module):\n",
    "    \n",
    "        def __init__(self, \n",
    "                     num_features, \n",
    "                     seq_len,hidden_size = 100, \n",
    "                     conv1_params = (100,2), \n",
    "                     conv2_params = None, \n",
    "                     max_pooling = True):\n",
    "            \n",
    "            super(FraudConvNet, self).__init__()\n",
    "            \n",
    "            # parameters\n",
    "            self.num_features = num_features\n",
    "            self.hidden_size = hidden_size\n",
    "            \n",
    "            # representation learning part\n",
    "            self.conv1_num_filters  = conv1_params[0]\n",
    "            self.conv1_filter_size  = conv1_params[1]\n",
    "            self.padding1 = torch.nn.ConstantPad1d((self.conv1_filter_size - 1,0),0)\n",
    "            self.conv1 = torch.nn.Conv1d(num_features, self.conv1_num_filters, self.conv1_filter_size)\n",
    "            self.representation_size = self.conv1_num_filters\n",
    "            \n",
    "            self.conv2_params = conv2_params\n",
    "            if conv2_params:\n",
    "                self.conv2_num_filters  = conv2_params[0]\n",
    "                self.conv2_filter_size  = conv2_params[1]\n",
    "                self.padding2 = torch.nn.ConstantPad1d((self.conv2_filter_size - 1,0),0)\n",
    "                self.conv2 = torch.nn.Conv1d(self.conv1_num_filters, self.conv2_num_filters, self.conv2_filter_size)\n",
    "                self.representation_size = self.conv2_num_filters\n",
    "            \n",
    "            self.max_pooling = max_pooling\n",
    "            if max_pooling:\n",
    "                self.pooling = torch.nn.MaxPool1d(seq_len)\n",
    "            else:\n",
    "                self.representation_size = self.representation_size*seq_len\n",
    "                \n",
    "            # feed forward part at the end\n",
    "            self.flatten = torch.nn.Flatten()\n",
    "                        \n",
    "            #representation to hidden\n",
    "            self.fc1 = torch.nn.Linear(self.representation_size, self.hidden_size)\n",
    "            self.relu = torch.nn.ReLU()\n",
    "            \n",
    "            #hidden to output\n",
    "            self.fc2 = torch.nn.Linear(self.hidden_size, 1)\n",
    "            self.sigmoid = torch.nn.Sigmoid()\n",
    "            \n",
    "        def forward(self, x):\n",
    "            \n",
    "            representation = self.conv1(self.padding1(x))\n",
    "            \n",
    "            if self.conv2_params:\n",
    "                representation = self.conv2(self.padding2(representation))\n",
    "                        \n",
    "            if self.max_pooling:\n",
    "                representation = self.pooling(representation)\n",
    "                        \n",
    "            representation = self.flatten(representation)\n",
    "            \n",
    "            hidden = self.fc1(representation)\n",
    "            relu = self.relu(hidden)\n",
    "            \n",
    "            output = self.fc2(relu)\n",
    "            output = self.sigmoid(output)\n",
    "            \n",
    "            return output"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6532123f",
   "metadata": {},
   "source": [
    "### Training the 1D convolutional neural etwork\n",
    "\n",
    "To train the CNN, let us reuse the same functions as in previous sections with the `FraudSequenceDataset` as `Dataset` and the `FraudConvNet` as `module`. The objective is the same as the feed-forward Network, so the criterion is binary cross-entropy as well."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "5ed00f7f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "FraudConvNet(\n",
       "  (padding1): ConstantPad1d(padding=(1, 0), value=0)\n",
       "  (conv1): Conv1d(15, 100, kernel_size=(2,), stride=(1,))\n",
       "  (pooling): MaxPool1d(kernel_size=5, stride=5, padding=0, dilation=1, ceil_mode=False)\n",
       "  (flatten): Flatten(start_dim=1, end_dim=-1)\n",
       "  (fc1): Linear(in_features=100, out_features=100, bias=True)\n",
       "  (relu): ReLU()\n",
       "  (fc2): Linear(in_features=100, out_features=1, bias=True)\n",
       "  (sigmoid): Sigmoid()\n",
       ")"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "seed_everything(SEED)\n",
    "\n",
    "training_set = FraudSequenceDataset(x_train, \n",
    "                                    y_train,train_df['CUSTOMER_ID'].values, \n",
    "                                    train_df['TX_DATETIME'].values,\n",
    "                                    seq_len,\n",
    "                                    padding_mode = \"zeros\")\n",
    "\n",
    "valid_set = FraudSequenceDataset(x_valid, \n",
    "                                 y_valid,\n",
    "                                 valid_df['CUSTOMER_ID'].values, \n",
    "                                 valid_df['TX_DATETIME'].values,\n",
    "                                 seq_len,\n",
    "                                 padding_mode = \"zeros\")\n",
    "\n",
    "training_generator,valid_generator = prepare_generators(training_set, valid_set, batch_size=64)\n",
    "cnn = FraudConvNet(x_train.shape[1], seq_len).to(DEVICE)\n",
    "cnn\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "c85e0176",
   "metadata": {
    "tags": [
     "output_scroll"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Epoch 0: train loss: 0.11331961992113045\n",
      "valid loss: 0.04290128982539385\n",
      "New best score: 0.04290128982539385\n",
      "\n",
      "Epoch 1: train loss: 0.046289062976879895\n",
      "valid loss: 0.02960259317868272\n",
      "New best score: 0.02960259317868272\n",
      "\n",
      "Epoch 2: train loss: 0.036232019433828276\n",
      "valid loss: 0.026388588221743704\n",
      "New best score: 0.026388588221743704\n",
      "\n",
      "Epoch 3: train loss: 0.032827449974294105\n",
      "valid loss: 0.02484128231874825\n",
      "New best score: 0.02484128231874825\n",
      "\n",
      "Epoch 4: train loss: 0.030821404086174817\n",
      "valid loss: 0.02410742957730233\n",
      "New best score: 0.02410742957730233\n",
      "\n",
      "Epoch 5: train loss: 0.029202812739931062\n",
      "valid loss: 0.022835184337413498\n",
      "New best score: 0.022835184337413498\n",
      "\n",
      "Epoch 6: train loss: 0.028094736857421653\n",
      "valid loss: 0.02244713509854825\n",
      "New best score: 0.02244713509854825\n",
      "\n",
      "Epoch 7: train loss: 0.027001507802537853\n",
      "valid loss: 0.022176400977415873\n",
      "New best score: 0.022176400977415873\n",
      "\n",
      "Epoch 8: train loss: 0.026254476560235208\n",
      "valid loss: 0.02218911660570509\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 9: train loss: 0.02560854040577751\n",
      "valid loss: 0.021949108853768252\n",
      "New best score: 0.021949108853768252\n",
      "\n",
      "Epoch 10: train loss: 0.024981534799554672\n",
      "valid loss: 0.021592291154964863\n",
      "New best score: 0.021592291154964863\n",
      "\n",
      "Epoch 11: train loss: 0.024556038766430716\n",
      "valid loss: 0.021545066185997892\n",
      "New best score: 0.021545066185997892\n",
      "\n",
      "Epoch 12: train loss: 0.024165517638524706\n",
      "valid loss: 0.02139132608751171\n",
      "New best score: 0.02139132608751171\n",
      "\n",
      "Epoch 13: train loss: 0.02384240027745459\n",
      "valid loss: 0.021200239446136308\n",
      "New best score: 0.021200239446136308\n",
      "\n",
      "Epoch 14: train loss: 0.023490439055142052\n",
      "valid loss: 0.021294136833313018\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 15: train loss: 0.02323751859669618\n",
      "valid loss: 0.021165060306787286\n",
      "New best score: 0.021165060306787286\n",
      "\n",
      "Epoch 16: train loss: 0.02279423619230967\n",
      "valid loss: 0.021365655278354434\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 17: train loss: 0.022614443875238456\n",
      "valid loss: 0.021119751067465692\n",
      "New best score: 0.021119751067465692\n",
      "\n",
      "Epoch 18: train loss: 0.022311994288852135\n",
      "valid loss: 0.021248318076062478\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 19: train loss: 0.02212963180260797\n",
      "valid loss: 0.021625581627095863\n",
      "2  iterations since best score.\n",
      "\n",
      "Epoch 20: train loss: 0.02185415759852715\n",
      "valid loss: 0.021411337640742094\n",
      "3  iterations since best score.\n",
      "Early stopping\n"
     ]
    }
   ],
   "source": [
    "optimizer = torch.optim.Adam(cnn.parameters(), lr = 0.0001)\n",
    "criterion = torch.nn.BCELoss().to(DEVICE)\n",
    "cnn,training_execution_time,train_losses_dropout,valid_losses_dropout = \\\n",
    "    training_loop(cnn,\n",
    "                  training_generator,\n",
    "                  valid_generator,\n",
    "                  optimizer,\n",
    "                  criterion,\n",
    "                  verbose=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b2b8dcc9",
   "metadata": {},
   "source": [
    "### Evaluation\n",
    "\n",
    "To evaluate the model on the validation dataset, the command `predictions_test = model(x_test)` that we previously used on the Feed-forward Network won't work here since the ConvNet expects the data to be in the form of sequences. The predictions need to be made properly using the validation generator. Let us implement the associated function and add it to the shared functions as well."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "64be7945",
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_all_predictions(model, generator):\n",
    "    model.eval()\n",
    "    all_preds = []\n",
    "    for x_batch, y_batch in generator:\n",
    "        # Forward pass\n",
    "        y_pred = model(x_batch)\n",
    "        # append to all preds\n",
    "        all_preds.append(y_pred.detach().cpu().numpy())\n",
    "    return np.vstack(all_preds)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "f64cb56d",
   "metadata": {},
   "outputs": [],
   "source": [
    "valid_predictions = get_all_predictions(cnn, valid_generator)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "e1068c91",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AUC ROC</th>\n",
       "      <th>Average precision</th>\n",
       "      <th>Card Precision@100</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.852</td>\n",
       "      <td>0.569</td>\n",
       "      <td>0.261</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   AUC ROC  Average precision  Card Precision@100\n",
       "0    0.852              0.569               0.261"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predictions_df = valid_df\n",
    "predictions_df['predictions'] = valid_predictions[:,0]\n",
    "    \n",
    "performance_assessment(predictions_df, top_k_list=[100])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d2d4b144",
   "metadata": {},
   "source": [
    "Without any specific hyperparameter tuning, the performance seems to be competitive with the feed-forward neural network. A the end of this section, we'll perform a grid search on this model for global comparison purposes."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "758315c4",
   "metadata": {},
   "source": [
    "## Long Short-Term Memory network"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aa011676",
   "metadata": {},
   "source": [
    "As stated in the introduction, the transaction sequences can also be managed with a Long Short-Term Memory network (LSTM). \n",
    "\n",
    "An LSTM is a special type of Recurrent Neural Network (RNN). The development of RNNs started early in the 80s {cite}`rumelhart1986learning` to model data in the form of sequences (e.g. times series). The computations in an RNN are very similar to a regular feed-forward network, except that there are multiple input vectors in the form of sequence instead of a single input vector, and the RNN models the order of the vectors: it performs a succession of computations that follow the order of inputs in the sequence. In particular, it repeats a recurrent unit (a network with regular layers), from the first item to the last, that each time takes as input the output of hidden neurons (hidden state) from the previous step and the current item of the input sequence to produce a new output and a new hidden state. \n",
    "\n",
    "The specificity of the LSTM is its advanced combination of the hidden state and the current sequence item to produce the new hidden state. In particular, it makes use of several gates (neurons with sigmoid activations) to cleverly select the right information to keep from the previous state and the right information to integrate from the current input. To get more into details with the specific mechanisms in the LSTM layer, we refer the reader to the following material: https://colah.github.io/posts/2015-08-Understanding-LSTMs/\n",
    "\n",
    "### LSTM for fraud detection\n",
    "\n",
    "LSTM have been successfully used for fraud detection in the literature {cite}`jurgovsky2018sequence`. The key information to remember is that when the LSTM takes as input a sequence of `seq_len` transactions, it produces a sequence of `seq_len` hidden states of dimension `hidden_dim`. The first hidden state will be based only on an initial state of the model and the first transaction of the sequence. The second hidden state will be based on the first hidden state and the second transaction of the sequence. Therefore, one can consider that the final hidden state is an aggregated representation of the whole sequence, as long as the sequence is not too long, which can be used as input in a feed-forward layer to classify the last transaction as either fraudulent or genuine. \n",
    "\n",
    "### Implementation\n",
    "\n",
    "PyTorch provides a module `torch.nn.LSTM` that implements an LSTM unit. It takes as input the number of features of each vector in the sequence, the dimension of the hidden states, the number of layers, and other parameters like the percentage of dropout. \n",
    "\n",
    "Let us use it to implement a module `FraudLSTM` that takes as input a sequence of transactions to predict the label of the last transaction. The first layer will be the LSTM module. Its last hidden state will be used in a fully connected network with a single hidden layer to finally predict the output neuron.\n",
    "\n",
    "Note: Our `DataLoader` produces batches of dimension `(batch_size, num_features, seq_len)`. When using the option `batch_first = True`, `torch.nn.LSTM` expects the first dimension to be the `batch_size` which is the case. However, it expects `seq_len` to come before `num_features`, so the second and third elements of the input must be transposed.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "67c579c0",
   "metadata": {},
   "outputs": [],
   "source": [
    "class FraudLSTM(torch.nn.Module):\n",
    "    \n",
    "        def __init__(self, \n",
    "                     num_features,\n",
    "                     hidden_size = 100, \n",
    "                     hidden_size_lstm = 100, \n",
    "                     num_layers_lstm = 1,\n",
    "                     dropout_lstm = 0):\n",
    "            \n",
    "            super(FraudLSTM, self).__init__()\n",
    "            # parameters\n",
    "            self.num_features = num_features\n",
    "            self.hidden_size = hidden_size\n",
    "            \n",
    "            # representation learning part\n",
    "            self.lstm = torch.nn.LSTM(self.num_features, \n",
    "                                      hidden_size_lstm, \n",
    "                                      num_layers_lstm, \n",
    "                                      batch_first = True, \n",
    "                                      dropout = dropout_lstm)\n",
    "                \n",
    "                        \n",
    "            #representation to hidden\n",
    "            self.fc1 = torch.nn.Linear(hidden_size_lstm, self.hidden_size)\n",
    "            self.relu = torch.nn.ReLU()\n",
    "            \n",
    "            #hidden to output\n",
    "            self.fc2 = torch.nn.Linear(self.hidden_size, 1)\n",
    "            self.sigmoid = torch.nn.Sigmoid()\n",
    "            \n",
    "        def forward(self, x):\n",
    "            \n",
    "            #transposing sequence length and number of features before applying the LSTM \n",
    "            representation = self.lstm(x.transpose(1,2))\n",
    "\n",
    "            #the second element of representation is a tuple with (final_hidden_states,final_cell_states)  \n",
    "            #since the LSTM has 1 layer and is unidirectional, final_hidden_states has a single element\n",
    "            hidden = self.fc1(representation[1][0][0])\n",
    "            relu = self.relu(hidden)\n",
    "            \n",
    "            output = self.fc2(relu)\n",
    "            output = self.sigmoid(output)\n",
    "            \n",
    "            return output"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "78464c11",
   "metadata": {},
   "source": [
    "### Training the LSTM\n",
    "\n",
    "To train the LSTM, let us apply the same methodology as the CNN."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "02e745a9",
   "metadata": {
    "tags": [
     "output_scroll"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Epoch 0: train loss: 0.13990207505212068\n",
      "valid loss: 0.02620907245264923\n",
      "New best score: 0.02620907245264923\n",
      "\n",
      "Epoch 1: train loss: 0.031434995676729166\n",
      "valid loss: 0.023325502496630034\n",
      "New best score: 0.023325502496630034\n",
      "\n",
      "Epoch 2: train loss: 0.0276708636452029\n",
      "valid loss: 0.021220496156802552\n",
      "New best score: 0.021220496156802552\n",
      "\n",
      "Epoch 3: train loss: 0.025479454260691644\n",
      "valid loss: 0.020511755727541943\n",
      "New best score: 0.020511755727541943\n",
      "\n",
      "Epoch 4: train loss: 0.02423322853112743\n",
      "valid loss: 0.019815496125009133\n",
      "New best score: 0.019815496125009133\n",
      "\n",
      "Epoch 5: train loss: 0.02332264187745305\n",
      "valid loss: 0.019972599826020294\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 6: train loss: 0.022942402170918506\n",
      "valid loss: 0.01945732499630562\n",
      "New best score: 0.01945732499630562\n",
      "\n",
      "Epoch 7: train loss: 0.02235023797337005\n",
      "valid loss: 0.0196135713384217\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 8: train loss: 0.022119645514110563\n",
      "valid loss: 0.019718042683986123\n",
      "2  iterations since best score.\n",
      "\n",
      "Epoch 9: train loss: 0.021690097280103984\n",
      "valid loss: 0.01908009442885004\n",
      "New best score: 0.01908009442885004\n",
      "\n",
      "Epoch 10: train loss: 0.02134914275318434\n",
      "valid loss: 0.01881876519583471\n",
      "New best score: 0.01881876519583471\n",
      "\n",
      "Epoch 11: train loss: 0.02092900848780522\n",
      "valid loss: 0.019134794213030427\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 12: train loss: 0.02074213598841039\n",
      "valid loss: 0.019468843063232717\n",
      "2  iterations since best score.\n",
      "\n",
      "Epoch 13: train loss: 0.020374752355523114\n",
      "valid loss: 0.01866684172651094\n",
      "New best score: 0.01866684172651094\n",
      "\n",
      "Epoch 14: train loss: 0.02008993904532359\n",
      "valid loss: 0.01853460792039872\n",
      "New best score: 0.01853460792039872\n",
      "\n",
      "Epoch 15: train loss: 0.019746437735577785\n",
      "valid loss: 0.01839204282675427\n",
      "New best score: 0.01839204282675427\n",
      "\n",
      "Epoch 16: train loss: 0.019563284586295023\n",
      "valid loss: 0.01872969562482964\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 17: train loss: 0.019375868797962006\n",
      "valid loss: 0.01919776629834675\n",
      "2  iterations since best score.\n",
      "\n",
      "Epoch 18: train loss: 0.019136815694366434\n",
      "valid loss: 0.017995675191311216\n",
      "New best score: 0.017995675191311216\n",
      "\n",
      "Epoch 19: train loss: 0.018896986096734573\n",
      "valid loss: 0.01803255443196601\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 20: train loss: 0.01882533677201451\n",
      "valid loss: 0.018077422815306325\n",
      "2  iterations since best score.\n",
      "\n",
      "Epoch 21: train loss: 0.01855331002204834\n",
      "valid loss: 0.018072079796384755\n",
      "3  iterations since best score.\n",
      "Early stopping\n"
     ]
    }
   ],
   "source": [
    "seed_everything(SEED)\n",
    "\n",
    "training_generator,valid_generator = prepare_generators(training_set, valid_set,batch_size=64)\n",
    "\n",
    "lstm = FraudLSTM(x_train.shape[1]).to(DEVICE)\n",
    "optimizer = torch.optim.Adam(lstm.parameters(), lr = 0.0001)\n",
    "criterion = torch.nn.BCELoss()\n",
    "\n",
    "lstm,training_execution_time,train_losses_dropout,valid_losses_dropout = \\\n",
    "    training_loop(lstm,\n",
    "                  training_generator,\n",
    "                  valid_generator,\n",
    "                  optimizer,\n",
    "                  criterion,\n",
    "                  verbose=True)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7327740e",
   "metadata": {},
   "source": [
    "### Evaluation\n",
    "\n",
    "Evaluation is also the same as with the CNN."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "64cec7dc",
   "metadata": {},
   "outputs": [],
   "source": [
    "valid_predictions = get_all_predictions(lstm, valid_generator)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "1e606557",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AUC ROC</th>\n",
       "      <th>Average precision</th>\n",
       "      <th>Card Precision@100</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.857</td>\n",
       "      <td>0.658</td>\n",
       "      <td>0.279</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   AUC ROC  Average precision  Card Precision@100\n",
       "0    0.857              0.658               0.279"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predictions_df = valid_df\n",
    "predictions_df['predictions'] = valid_predictions[:,0]\n",
    "    \n",
    "performance_assessment(predictions_df, top_k_list=[100])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "590f79ba",
   "metadata": {},
   "source": [
    "This first result with the LSTM is very encouraging and highly competitive with the other architectures tested in the chapter. \n",
    "\n",
    "It is worth noting that in this example, only the last hidden state is used in the final classification network. When dealing with long sequences and complex patterns, this state alone can become limited to integrate all the useful information for fraud detection. Moreover, it makes it difficult to identify the contribution of the different parts of the sequence to a specific prediction. To deal with these issues, one can use all the hidden states from the LSTM and resort to Attention to select and combine them."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a92ece2f",
   "metadata": {},
   "source": [
    "## Towards more advanced modeling with Attention"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "072c3399",
   "metadata": {},
   "source": [
    "The Attention mechanism is one of the major recent breakthroughs in neural network architectures {cite}`bahdanau2014neural`. It has led to significant advances in Natural Language Processing (NLP), for instance, in the *Transformer architecture* {cite}`vaswani2017attention` and its multiple variants, e.g. into BERT {cite}`devlin2018bert` or GPT {cite}`radford2019language`.\n",
    "\n",
    "The Attention mechanism is an implementation of the concept of Attention, namely selectively focusing on a subset of relevant items (e.g. states) in deep neural networks. It was initially proposed as an additional layer to improve the classical encoder-decoder LSTM architecture for neural machine translation. It allows aligning the usage of the encoder hidden states and the element currently being generated by the decoder, and solving the long-range dependency problem of LSTMs.\n",
    "\n",
    "The difference with the regular usage of an LSTM is that instead of only using the last hidden state, the Attention mechanism takes as input all the hidden states and combines them in a relevant manner with respect to a certain context. More precisely, in its most popular form, Attention performs the following operations:\n",
    "* Given a context vector $c$ and the sequence of hidden states $h_i$, it computes an attention score $a_i$ for each hidden state, generally using a similarity measure like a dot product between $c$ and $h_i$.\n",
    "* It normalizes all the attention scores with a softmax.\n",
    "* It computes a global output state with a linear combination $\\sum a_i*h_i$.\n",
    "\n",
    "For applications like machine translation with an encoder-decoder architecture, the context vector will generally be the current hidden state of the decoder, and the Attention will be applied to all hidden states of the encoder. In such application, the encoder LSTM takes as input a sentence (sequence of words) in a language (e.g. French), and the decoder LSTM takes as input the beginning of the translated sentence in another language (e.g. English). Therefore, it makes sense to consider the current state of the translation as context to select/focus the right elements of the input sequence that will be taken into account to predict the next word of the translation. \n",
    "\n",
    "### Attention for fraud detection\n",
    "\n",
    "For fraud detection, only an encoder LSTM is used in our implementation above. The choice of a relevant context vector will therefore be based on our intuition of what kind of context makes sense to select the right hidden states of the sequence. A reasonable choice is to consider a representation of the transaction that we aim at classifying (the last transaction) as context to select the right elements from the previous transactions. Two choices are possible: directly use the last hidden state as a context vector, or a projection of the last transaction (e.g. after applying a `torch.nn.Linear` layer). In the following, we resort to the second option, which is represented in the global architecture below:\n",
    "\n",
    "\n",
    "![Illustration of a sequential model with Attention](./images/attention.png)\n",
    "\n",
    "Additionally to allow dynamic selection of the relevant hidden states for the sample at hand, the attention scores can provide interpretability by showing the parts of the sequence used for the current prediction. \n",
    "\n",
    "\n",
    "### Implementation\n",
    "\n",
    "There is no native implementation of a simple Attention layer in the current Pytorch version (1.9). However, a more general `torch.nn.MultiheadAttention`, like the one used in the Transformer architecture, is available. Although it would allow implementing regular attention, we will instead make use of an unofficial module that implements a simpler attention mechanism for educational purposes. This Attention module is available in the following widely validated git repository: https://github.com/IBM/pytorch-seq2seq/blob/master/seq2seq/models/attention.py \n",
    "\n",
    "Let us copy its content in the following cell:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "8b555920",
   "metadata": {},
   "outputs": [],
   "source": [
    "# source : https://github.com/IBM/pytorch-seq2seq/blob/master/seq2seq/models/attention.py\n",
    "\n",
    "import torch.nn.functional as F\n",
    "\n",
    "\n",
    "class Attention(torch.nn.Module):\n",
    "    r\"\"\"\n",
    "    Applies an attention mechanism on the output features from the decoder.\n",
    "    .. math::\n",
    "            \\begin{array}{ll}\n",
    "            x = context*output \\\\\n",
    "            attn = exp(x_i) / sum_j exp(x_j) \\\\\n",
    "            output = \\tanh(w * (attn * context) + b * output)\n",
    "            \\end{array}\n",
    "    Args:\n",
    "        dim(int): The number of expected features in the output\n",
    "    Inputs: output, context\n",
    "        - **output** (batch, output_len, dimensions): tensor containing the output features from the decoder.\n",
    "        - **context** (batch, input_len, dimensions): tensor containing features of the encoded input sequence.\n",
    "    Outputs: output, attn\n",
    "        - **output** (batch, output_len, dimensions): tensor containing the attended output features from the decoder.\n",
    "        - **attn** (batch, output_len, input_len): tensor containing attention weights.\n",
    "    Attributes:\n",
    "        linear_out (torch.nn.Linear): applies a linear transformation to the incoming data: :math:`y = Ax + b`.\n",
    "        mask (torch.Tensor, optional): applies a :math:`-inf` to the indices specified in the `Tensor`.\n",
    "    Examples::\n",
    "         >>> attention = seq2seq.models.Attention(256)\n",
    "         >>> context = Variable(torch.randn(5, 3, 256))\n",
    "         >>> output = Variable(torch.randn(5, 5, 256))\n",
    "         >>> output, attn = attention(output, context)\n",
    "    \"\"\"\n",
    "    def __init__(self, dim):\n",
    "        super(Attention, self).__init__()\n",
    "        self.linear_out = torch.nn.Linear(dim*2, dim)\n",
    "        self.mask = None\n",
    "\n",
    "    def set_mask(self, mask):\n",
    "        \"\"\"\n",
    "        Sets indices to be masked\n",
    "        Args:\n",
    "            mask (torch.Tensor): tensor containing indices to be masked\n",
    "        \"\"\"\n",
    "        self.mask = mask\n",
    "\n",
    "    def forward(self, output, context):\n",
    "        batch_size = output.size(0)\n",
    "        hidden_size = output.size(2)\n",
    "        input_size = context.size(1)\n",
    "        # (batch, out_len, dim) * (batch, in_len, dim) -> (batch, out_len, in_len)\n",
    "        attn = torch.bmm(output, context.transpose(1, 2))\n",
    "        if self.mask is not None:\n",
    "            attn.data.masked_fill_(self.mask, -float('inf'))\n",
    "        attn = F.softmax(attn.view(-1, input_size), dim=1).view(batch_size, -1, input_size)\n",
    "\n",
    "        # (batch, out_len, in_len) * (batch, in_len, dim) -> (batch, out_len, dim)\n",
    "        mix = torch.bmm(attn, context)\n",
    "\n",
    "        # concat -> (batch, out_len, 2*dim)\n",
    "        combined = torch.cat((mix, output), dim=2)\n",
    "        # output -> (batch, out_len, dim)\n",
    "        output = F.tanh(self.linear_out(combined.view(-1, 2 * hidden_size))).view(batch_size, -1, hidden_size)\n",
    "\n",
    "        return output, attn"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59b4a430",
   "metadata": {},
   "source": [
    "### How does it work?\n",
    "\n",
    "The custom `Attention` module above has a single initialization parameter which is the dimension of the input hidden states and the context vector. During the forward pass, it takes as input the sequence of hidden states and the context vector and outputs the combined state and the attention scores. \n",
    "\n",
    "To familiarize with the module, let us manually compute the hidden states of our previous LSTM on a random training batch, and test the Attention mechanism. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "1b932850",
   "metadata": {},
   "outputs": [],
   "source": [
    "x_batch, y_batch = next(iter(training_generator))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "28d1064d",
   "metadata": {},
   "outputs": [],
   "source": [
    "out_seq, (last_hidden,last_cell) = lstm.lstm(x_batch.transpose(1,2))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3fa6ebb7",
   "metadata": {},
   "source": [
    "The outputs of the LSTM are the sequence of all hidden states, and the last hidden and cell states. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "37034489",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 64, 100])"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "last_hidden.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "d4cd82d5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([64, 5, 100])"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "out_seq.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1f86b02f",
   "metadata": {},
   "source": [
    "Let us store the sequences of hidden states in a variable `test_hidden_states_seq`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "68ca3304",
   "metadata": {},
   "outputs": [],
   "source": [
    "test_hidden_states_seq = out_seq"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "21f1c4b8",
   "metadata": {},
   "source": [
    "To create our context vector, let us apply a fully connected layer on the last element of the input sequence (which is the transaction that we aim at classifying) and store the result in a variable `test_context_vector`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "3bc6c186",
   "metadata": {},
   "outputs": [],
   "source": [
    "test_context_projector = torch.nn.Linear(x_batch.shape[1], out_seq.shape[2]).to(DEVICE)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "50f1de61",
   "metadata": {},
   "outputs": [],
   "source": [
    "test_context_vector = test_context_projector(x_batch[:,:,-1:].transpose(1,2))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f2ecd8d7",
   "metadata": {},
   "source": [
    "The hidden states and context vectors of the whole batch have the following dimensions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "de83ee3e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([64, 5, 100])"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_hidden_states_seq.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "9d208b36",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([64, 1, 100])"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_context_vector.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7e6e2820",
   "metadata": {},
   "source": [
    "Now that the inputs for the Attention mechanism are ready, let us try the module:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "990a2376",
   "metadata": {},
   "outputs": [],
   "source": [
    "seed_everything(SEED)\n",
    "test_attention = Attention(100).to(DEVICE)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "1ad2e295",
   "metadata": {},
   "outputs": [],
   "source": [
    "output_state, attn = test_attention(test_context_vector,test_hidden_states_seq)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "afb36144",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([64, 1, 100])"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output_state.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "26def816",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([0.2517, 0.2583, 0.2432, 0.1509, 0.0959], device='cuda:0',\n",
       "       grad_fn=<SelectBackward>)"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "attn[0,0]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fc7a5e17",
   "metadata": {},
   "source": [
    "We obtain two outputs. `attn` contains the attention scores of the hidden states and `output_state` is the output combined state, i.e. the linear combination of the hidden states based on the attention scores. \n",
    "\n",
    "Here the components of `attn` are rather balanced because, since the module `test_context_projector` was only randomly initialized, the context vectors `test_context_vector` are \"random\" and not specifically more similar to a state than another.\n",
    "\n",
    "Let us see what happens if the last hidden state `test_hidden_states_seq[:,4:,:]` is used as context vector instead. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "542087a3",
   "metadata": {},
   "outputs": [],
   "source": [
    "output, attn = test_attention(test_hidden_states_seq[:,4:,:],test_hidden_states_seq)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "d87d614c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([7.5513e-09, 4.9199e-08, 1.3565e-06, 1.2371e-03, 9.9876e-01],\n",
       "       device='cuda:0', grad_fn=<SelectBackward>)"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "attn[0,0]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "56279e3d",
   "metadata": {},
   "source": [
    "This time, it is clear that the attention score is much larger for the last transaction since it is equal to the context vector. Interestingly, one can observe that the scores decrease from the most recent previous transaction to the oldest. \n",
    "\n",
    "Nevertheless, using the last hidden state as a context vector will not necessarily guarantee better behavior on fraud classification. Instead, let us hold on to our strategy with a feed-forward layer that will compute a context vector from the last transaction and train this layer, the LSTM and the final classifier (which takes as input the combined state to classify the transaction) altogether. To do so, we implement a custom module `FraudLSTMWithAttention`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "aff8c768",
   "metadata": {},
   "outputs": [],
   "source": [
    "class FraudLSTMWithAttention(torch.nn.Module):\n",
    "    \n",
    "        def __init__(self, \n",
    "                     num_features,\n",
    "                     hidden_size = 100, \n",
    "                     hidden_size_lstm = 100, \n",
    "                     num_layers_lstm = 1,\n",
    "                     dropout_lstm = 0, \n",
    "                     attention_out_dim = 100):\n",
    "            \n",
    "            super(FraudLSTMWithAttention, self).__init__()\n",
    "            # parameters\n",
    "            self.num_features = num_features\n",
    "            self.hidden_size = hidden_size\n",
    "            \n",
    "            # sequence representation\n",
    "            self.lstm = torch.nn.LSTM(self.num_features, \n",
    "                                      hidden_size_lstm, \n",
    "                                      num_layers_lstm, \n",
    "                                      batch_first = True, \n",
    "                                      dropout = dropout_lstm)\n",
    "            \n",
    "            # layer that will project the last transaction of the sequence into a context vector\n",
    "            self.ff = torch.nn.Linear(self.num_features, hidden_size_lstm)\n",
    "            \n",
    "            # attention layer\n",
    "            self.attention = Attention(attention_out_dim)\n",
    "                        \n",
    "            #representation to hidden\n",
    "            self.fc1 = torch.nn.Linear(hidden_size_lstm, self.hidden_size)\n",
    "            self.relu = torch.nn.ReLU()\n",
    "            \n",
    "            #hidden to output\n",
    "            self.fc2 = torch.nn.Linear(self.hidden_size, 1)\n",
    "            self.sigmoid = torch.nn.Sigmoid()\n",
    "            \n",
    "        def forward(self, x):\n",
    "            \n",
    "            #computing the sequence of hidden states from the sequence of transactions\n",
    "            hidden_states, _ = self.lstm(x.transpose(1,2))\n",
    "            \n",
    "            #computing the context vector from the last transaction\n",
    "            context_vector = self.ff(x[:,:,-1:].transpose(1,2))\n",
    "            \n",
    "            combined_state, attn = self.attention(context_vector, hidden_states)\n",
    "\n",
    "                        \n",
    "            hidden = self.fc1(combined_state[:,0,:])\n",
    "            relu = self.relu(hidden)\n",
    "            \n",
    "            output = self.fc2(relu)\n",
    "            output = self.sigmoid(output)\n",
    "            \n",
    "            return output"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "13f06dfe",
   "metadata": {},
   "source": [
    "### Training the LSTM with Attention\n",
    "\n",
    "The LSTM with Attention takes the same input as the regular LSTM so it can be trained and evaluated in the exact same manner."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "9d302b87",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "FraudLSTMWithAttention(\n",
       "  (lstm): LSTM(15, 100, batch_first=True)\n",
       "  (ff): Linear(in_features=15, out_features=100, bias=True)\n",
       "  (attention): Attention(\n",
       "    (linear_out): Linear(in_features=200, out_features=100, bias=True)\n",
       "  )\n",
       "  (fc1): Linear(in_features=100, out_features=100, bias=True)\n",
       "  (relu): ReLU()\n",
       "  (fc2): Linear(in_features=100, out_features=1, bias=True)\n",
       "  (sigmoid): Sigmoid()\n",
       ")"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "seed_everything(SEED)\n",
    "\n",
    "lstm_attn = FraudLSTMWithAttention(x_train.shape[1]).to(DEVICE)\n",
    "lstm_attn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "3674c865",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Epoch 0: train loss: 0.10238753851141645\n",
      "valid loss: 0.021834761867951094\n",
      "New best score: 0.021834761867951094\n",
      "\n",
      "Epoch 1: train loss: 0.026330269543929505\n",
      "valid loss: 0.0203155988219189\n",
      "New best score: 0.0203155988219189\n",
      "\n",
      "Epoch 2: train loss: 0.024288250049589517\n",
      "valid loss: 0.019749290624867535\n",
      "New best score: 0.019749290624867535\n",
      "\n",
      "Epoch 3: train loss: 0.02330792175176737\n",
      "valid loss: 0.019204635951856324\n",
      "New best score: 0.019204635951856324\n",
      "\n",
      "Epoch 4: train loss: 0.02269919227573212\n",
      "valid loss: 0.019130825754789423\n",
      "New best score: 0.019130825754789423\n",
      "\n",
      "Epoch 5: train loss: 0.022160232767046928\n",
      "valid loss: 0.018929402052572434\n",
      "New best score: 0.018929402052572434\n",
      "\n",
      "Epoch 6: train loss: 0.02177732186309591\n",
      "valid loss: 0.01847629409672723\n",
      "New best score: 0.01847629409672723\n",
      "\n",
      "Epoch 7: train loss: 0.02135627254457293\n",
      "valid loss: 0.018755287848173798\n",
      "1  iterations since best score.\n",
      "\n",
      "Epoch 8: train loss: 0.02098137940145249\n",
      "valid loss: 0.01887945729890543\n",
      "2  iterations since best score.\n",
      "\n",
      "Epoch 9: train loss: 0.020458271793019914\n",
      "valid loss: 0.01891031490531979\n",
      "3  iterations since best score.\n",
      "Early stopping\n"
     ]
    }
   ],
   "source": [
    "training_generator,valid_generator = prepare_generators(training_set,valid_set,batch_size=64)\n",
    "\n",
    "optimizer = torch.optim.Adam(lstm_attn.parameters(), lr = 0.00008)\n",
    "criterion = torch.nn.BCELoss().to(DEVICE)\n",
    "\n",
    "lstm_attn,training_execution_time,train_losses_dropout,valid_losses_dropout = \\\n",
    "    training_loop(lstm_attn,\n",
    "                  training_generator,\n",
    "                  valid_generator,\n",
    "                  optimizer,\n",
    "                  criterion,\n",
    "                  verbose=True)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "101209a4",
   "metadata": {},
   "source": [
    "### Validation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "61de7d42",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AUC ROC</th>\n",
       "      <th>Average precision</th>\n",
       "      <th>Card Precision@100</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.855</td>\n",
       "      <td>0.635</td>\n",
       "      <td>0.271</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   AUC ROC  Average precision  Card Precision@100\n",
       "0    0.855              0.635               0.271"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "valid_predictions = get_all_predictions(lstm_attn, valid_generator)\n",
    "\n",
    "predictions_df = valid_df\n",
    "predictions_df['predictions'] = valid_predictions[:,0]\n",
    "    \n",
    "performance_assessment(predictions_df, top_k_list=[100])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54f9bd5c",
   "metadata": {},
   "source": [
    "The results are competitive with the LSTM. Additionnaly, the advantage with this architecture is the interpretability of the attention scores for a given prediction. \n",
    "\n",
    "In other settings, for instance with longer sequences, this model might also be able to reach better performance thant the regular LSTM."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9038bc7",
   "metadata": {},
   "source": [
    "## Seq-2-Seq Autoencoders\n",
    "\n",
    "The previous section of this chapter covered the use of regular autoencoders on single transactions for fraud detection. It is worth noting that the same principles could be applied here to create a semi-supervised method for sequential inputs. Instead of a feed-forward architecture, a sequence-to-sequence autoencoder with an encoder-decoder architecture could be used. This is not covered in this version of the section, but it will be proposed in the future.\n",
    "\n",
    "## Prequential grid search\n",
    "\n",
    "Now that we have explored different sequential models architectures, let us finally evaluate them properly with a prequential grid search. Compared to the grid search performed on the feed-forward neural network, the sequential models add a little complexity to the process. Indeed, they have been designed to take as input a sequence of transactions. For this purpose, the specific `FraudSequenceDataset` was implemented, and it requires two additional features to build the sequences: the landmark feature (`CUSTOMER_ID`) and the chronological feature (`TX_DATETIME`). Our previous model selection function (`model_selection_wrapper`) does not directly allow passing these extra parameters to the `torch` Dataset. The trick here will be to simply pass them as regular features but only use them to build the sequences. For that, the `FraudSequenceDataset` needs to be updated into a new version (that will be referred to as `FraudSequenceDatasetForPipe`) that only takes as input `x` and `y` and assumes that the last column of `x` is `TX_DATETIME`, the previous column is `CUSTOMER_ID`, and the rest are the transactions regular features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "9f2b6aa1",
   "metadata": {},
   "outputs": [],
   "source": [
    "class FraudSequenceDatasetForPipe(torch.utils.data.Dataset):\n",
    "    \n",
    "    def __init__(self, x,y):\n",
    "        'Initialization'\n",
    "        seq_len=5\n",
    "        \n",
    "        # lets us assume that x[:,-1] are the dates, and x[:,-2] are customer ids, padding_mode is \"mean\"\n",
    "        customer_ids = x[:,-2]\n",
    "        dates  = x[:,-1] \n",
    "        \n",
    "        # storing the features x in self.feature and adding the \"padding\" transaction at the end\n",
    "        self.features = torch.FloatTensor(x[:,:-2])\n",
    "                \n",
    "        self.features = torch.vstack([self.features, self.features.mean(axis=0)])\n",
    "        \n",
    "        self.y = None\n",
    "        if y is not None:\n",
    "            self.y = torch.LongTensor(y.values)\n",
    "            \n",
    "        self.customer_ids = customer_ids\n",
    "        self.dates = dates\n",
    "        self.seq_len = seq_len\n",
    "        \n",
    "        #===== computing sequences ids =====       \n",
    "        \n",
    "        \n",
    "        df_ids_dates_cpy = pd.DataFrame({'CUSTOMER_ID':customer_ids,\n",
    "        'TX_DATETIME':dates})\n",
    "        \n",
    "        df_ids_dates_cpy[\"tmp_index\"]  = np.arange(len(df_ids_dates_cpy))\n",
    "        df_groupby_customer_id = df_ids_dates_cpy.groupby(\"CUSTOMER_ID\")\n",
    "        sequence_indices = pd.DataFrame(\n",
    "            {\n",
    "                \"tx_{}\".format(n): df_groupby_customer_id[\"tmp_index\"].shift(seq_len - n - 1)\n",
    "                for n in range(seq_len)\n",
    "            }\n",
    "        )\n",
    "        self.sequences_ids = sequence_indices.fillna(len(self.features) - 1).values.astype(int)\n",
    "        \n",
    "        df_ids_dates_cpy = df_ids_dates_cpy.drop(\"tmp_index\", axis=1)\n",
    "        \n",
    "\n",
    "\n",
    "    def __len__(self):\n",
    "        'Denotes the total number of samples'\n",
    "        # not len(self.features) because of the added padding transaction\n",
    "        return len(self.customer_ids)\n",
    "\n",
    "    def __getitem__(self, index):\n",
    "        'Generates one sample of data'\n",
    "        # Select sample index\n",
    "        \n",
    "        tx_ids = self.sequences_ids[index]\n",
    "        \n",
    "        if self.y is not None:\n",
    "            #transposing because the CNN considers the channel dimension before the sequence dimension\n",
    "            return self.features[tx_ids,:].transpose(0,1), self.y[index]\n",
    "        else:\n",
    "            return self.features[tx_ids,:].transpose(0,1), -1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7c57cdde",
   "metadata": {},
   "source": [
    "### Grid search on the 1-D Convolutional Neural Network\n",
    "\n",
    "Let us perform a grid search on the 1-D CNN with the following hyperparameters:\n",
    "\n",
    "* Batch size : [64,128,256]\n",
    "* Initial learning rate: [0.0001, 0.0002, 0.001]\n",
    "* Number of epochs : [10, 20, 40]\n",
    "* Dropout rate : [0, 0.2]\n",
    "* Number of convolutional layers : [1,2]\n",
    "* Number of convolutional filters : [100, 200]\n",
    "\n",
    "For that, the `FraudCNN` module needs to be adapted to output two probabilities like `sklearn` classifiers, and then wrapped with `skorch`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "3175b12a",
   "metadata": {},
   "outputs": [],
   "source": [
    "class FraudCNN(torch.nn.Module):\n",
    "    \n",
    "    def __init__(self, num_features, seq_len=5,hidden_size = 100, num_filters = 100, filter_size = 2, num_conv=1, max_pooling = True,p=0):\n",
    "        super(FraudCNN, self).__init__()\n",
    "        # parameters\n",
    "        self.num_features = num_features\n",
    "        self.hidden_size = hidden_size\n",
    "        self.p = p\n",
    "        \n",
    "        # representation learning part\n",
    "        self.num_filters  = num_filters\n",
    "        self.filter_size  = filter_size\n",
    "        self.padding1 = torch.nn.ConstantPad1d((filter_size - 1,0),0)\n",
    "        self.conv1 = torch.nn.Conv1d(num_features,self.num_filters,self.filter_size)\n",
    "        self.representation_size = self.num_filters\n",
    "        \n",
    "        self.num_conv=num_conv\n",
    "        \n",
    "        if self.num_conv==2:\n",
    "            self.padding2 = torch.nn.ConstantPad1d((filter_size - 1,0),0)\n",
    "            self.conv2 = torch.nn.Conv1d(self.num_filters,self.num_filters,self.filter_size)\n",
    "            self.representation_size = self.num_filters\n",
    "        \n",
    "        self.max_pooling = max_pooling\n",
    "        if max_pooling:\n",
    "            self.pooling = torch.nn.MaxPool1d(seq_len)\n",
    "        else:\n",
    "            self.representation_size = self.representation_size*seq_len\n",
    "            \n",
    "        # feed forward part at the end\n",
    "        self.flatten = torch.nn.Flatten()\n",
    "                    \n",
    "        #representation to hidden\n",
    "        self.fc1 = torch.nn.Linear(self.representation_size, self.hidden_size)\n",
    "        self.relu = torch.nn.ReLU()\n",
    "        \n",
    "        #hidden to output\n",
    "        self.fc2 = torch.nn.Linear(self.hidden_size, 2)\n",
    "        self.softmax = torch.nn.Softmax()\n",
    "        \n",
    "        self.dropout = torch.nn.Dropout(self.p)\n",
    "        \n",
    "    def forward(self, x):\n",
    "        \n",
    "        representation = self.conv1(self.padding1(x))                         \n",
    "        representation = self.dropout(representation)\n",
    "        if self.num_conv==2:\n",
    "            representation = self.conv2(self.padding2(representation))                         \n",
    "            representation = self.dropout(representation)\n",
    "                    \n",
    "        if self.max_pooling:\n",
    "            representation = self.pooling(representation)\n",
    "                    \n",
    "        representation = self.flatten(representation)\n",
    "        \n",
    "        hidden = self.fc1(representation)\n",
    "        relu = self.relu(hidden)                                     \n",
    "        relu = self.dropout(relu)\n",
    "        \n",
    "        output = self.fc2(relu)\n",
    "        output = self.softmax(output)\n",
    "        \n",
    "        return output"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6e5f069c",
   "metadata": {},
   "source": [
    "The two extra features (`CUSTOMER_ID` and `TX_DATETIME`) also need to be added to the list `input_features`.\n",
    "\n",
    "Note: the `model_selection_wrapper` function implements an sklearn pipeline that combines the classifier with a scaler. Therefore, the two extra variables will be standardized like the rest of the features. To avoid unexpected behavior, let us convert the datetimes into timestamps. Once done, the normalization of both `CUSTOMER_ID` and `TX_DATETIME_TIMESTAMP` should not change the set of unique ids of customers nor the chronological order of the transactions, and therefore lead to the same sequences and results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "59b6754d",
   "metadata": {},
   "outputs": [],
   "source": [
    "transactions_df['TX_DATETIME_TIMESTAMP'] = transactions_df['TX_DATETIME'].apply(lambda x:datetime.datetime.timestamp(x))\n",
    "\n",
    "input_features_new = input_features + ['CUSTOMER_ID','TX_DATETIME_TIMESTAMP']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3e5e164b",
   "metadata": {},
   "source": [
    "Now that all the classes are ready, let us run the grid search with the CNN using the skorch wrapper and the same scoring and validation settings as in previous sections."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "36d3f906",
   "metadata": {
    "tags": [
     "hide-output"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: skorch in /opt/conda/lib/python3.8/site-packages (0.10.0)\r\n",
      "Requirement already satisfied: scipy>=1.1.0 in /opt/conda/lib/python3.8/site-packages (from skorch) (1.6.3)\r\n",
      "Requirement already satisfied: tabulate>=0.7.7 in /opt/conda/lib/python3.8/site-packages (from skorch) (0.8.9)\r\n",
      "Requirement already satisfied: tqdm>=4.14.0 in /opt/conda/lib/python3.8/site-packages (from skorch) (4.51.0)\r\n",
      "Requirement already satisfied: numpy>=1.13.3 in /opt/conda/lib/python3.8/site-packages (from skorch) (1.19.2)\r\n",
      "Requirement already satisfied: scikit-learn>=0.19.1 in /opt/conda/lib/python3.8/site-packages (from skorch) (0.24.2)\r\n",
      "Requirement already satisfied: joblib>=0.11 in /opt/conda/lib/python3.8/site-packages (from scikit-learn>=0.19.1->skorch) (1.0.1)\r\n",
      "Requirement already satisfied: threadpoolctl>=2.0.0 in /opt/conda/lib/python3.8/site-packages (from scikit-learn>=0.19.1->skorch) (2.1.0)\r\n"
     ]
    }
   ],
   "source": [
    "!pip install skorch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "f008c923",
   "metadata": {},
   "outputs": [],
   "source": [
    "from skorch import NeuralNetClassifier\n",
    "\n",
    "# Only keep columns that are needed as argument to custome scoring function\n",
    "# to reduce serialisation time of transaction dataset\n",
    "transactions_df_scorer = transactions_df[['CUSTOMER_ID', 'TX_FRAUD','TX_TIME_DAYS']]\n",
    "\n",
    "card_precision_top_100 = sklearn.metrics.make_scorer(card_precision_top_k_custom, \n",
    "                                                     needs_proba=True, \n",
    "                                                     top_k=100, \n",
    "                                                     transactions_df=transactions_df_scorer)\n",
    "\n",
    "performance_metrics_list_grid = ['roc_auc', 'average_precision', 'card_precision@100']\n",
    "performance_metrics_list = ['AUC ROC', 'Average precision', 'Card Precision@100']\n",
    "\n",
    "scoring = {'roc_auc':'roc_auc',\n",
    "           'average_precision': 'average_precision',\n",
    "           'card_precision@100': card_precision_top_100,\n",
    "           }\n",
    "\n",
    "n_folds=4\n",
    "start_date_training_for_valid = start_date_training+datetime.timedelta(days=-(delta_delay+delta_valid))\n",
    "start_date_training_for_test = start_date_training+datetime.timedelta(days=(n_folds-1)*delta_test)\n",
    "delta_assessment = delta_valid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "de544ee0",
   "metadata": {},
   "outputs": [],
   "source": [
    "seed_everything(42)\n",
    "classifier = NeuralNetClassifier(\n",
    "    FraudCNN,\n",
    "    max_epochs=2,\n",
    "    lr=0.001,\n",
    "    optimizer=torch.optim.Adam,\n",
    "    batch_size=64,\n",
    "    dataset=FraudSequenceDatasetForPipe,\n",
    "    iterator_train__shuffle=True\n",
    ")\n",
    "classifier.set_params(train_split=False, verbose=0)\n",
    "\n",
    "parameters = {\n",
    "    'clf__lr': [0.0001,0.0002,0.001],\n",
    "    'clf__batch_size': [64,128,256],\n",
    "    'clf__max_epochs': [10,20,40],\n",
    "    'clf__module__hidden_size': [500],\n",
    "    'clf__module__num_conv': [1,2],\n",
    "    'clf__module__p': [0,0.2],\n",
    "    'clf__module__num_features': [int(len(input_features))],\n",
    "    'clf__module__num_filters': [100,200],\n",
    "}\n",
    "\n",
    "start_time=time.time()\n",
    "\n",
    "performances_df=model_selection_wrapper(transactions_df, classifier, \n",
    "                                        input_features_new, output_feature,\n",
    "                                        parameters, scoring, \n",
    "                                        start_date_training_for_valid,\n",
    "                                        start_date_training_for_test,\n",
    "                                        n_folds=n_folds,\n",
    "                                        delta_train=delta_train, \n",
    "                                        delta_delay=delta_delay, \n",
    "                                        delta_assessment=delta_assessment,\n",
    "                                        performance_metrics_list_grid=performance_metrics_list_grid,\n",
    "                                        performance_metrics_list=performance_metrics_list,\n",
    "                                        n_jobs=10)\n",
    "\n",
    "execution_time_cnn = time.time()-start_time\n",
    "\n",
    "parameters_dict=dict(performances_df['Parameters'])\n",
    "performances_df['Parameters summary']=[str(parameters_dict[i]['clf__max_epochs'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__module__num_conv'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__batch_size'])+\n",
    "                                   '/'+    \n",
    "                                   str(parameters_dict[i]['clf__module__num_filters'])+\n",
    "                                   '/'+                                       \n",
    "                                   str(parameters_dict[i]['clf__module__p'])\n",
    "                                   for i in range(len(parameters_dict))]\n",
    "\n",
    "performances_df_cnn=performances_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "12de142c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "26904.69369339943\n"
     ]
    }
   ],
   "source": [
    "print(execution_time_cnn)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "34f30b76",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AUC ROC</th>\n",
       "      <th>Average precision</th>\n",
       "      <th>Card Precision@100</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Best estimated parameters</th>\n",
       "      <td>20/2/64/100/0.2</td>\n",
       "      <td>40/2/64/100/0.2</td>\n",
       "      <td>10/2/128/100/0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Validation performance</th>\n",
       "      <td>0.879+/-0.01</td>\n",
       "      <td>0.613+/-0.02</td>\n",
       "      <td>0.279+/-0.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Test performance</th>\n",
       "      <td>0.872+/-0.01</td>\n",
       "      <td>0.599+/-0.01</td>\n",
       "      <td>0.288+/-0.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Optimal parameter(s)</th>\n",
       "      <td>10/2/64/100/0.2</td>\n",
       "      <td>20/2/64/100/0.2</td>\n",
       "      <td>20/2/128/100/0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Optimal test performance</th>\n",
       "      <td>0.876+/-0.01</td>\n",
       "      <td>0.617+/-0.01</td>\n",
       "      <td>0.296+/-0.01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                   AUC ROC Average precision  \\\n",
       "Best estimated parameters  20/2/64/100/0.2   40/2/64/100/0.2   \n",
       "Validation performance        0.879+/-0.01      0.613+/-0.02   \n",
       "Test performance              0.872+/-0.01      0.599+/-0.01   \n",
       "Optimal parameter(s)       10/2/64/100/0.2   20/2/64/100/0.2   \n",
       "Optimal test performance      0.876+/-0.01      0.617+/-0.01   \n",
       "\n",
       "                          Card Precision@100  \n",
       "Best estimated parameters     10/2/128/100/0  \n",
       "Validation performance          0.279+/-0.01  \n",
       "Test performance                0.288+/-0.01  \n",
       "Optimal parameter(s)        20/2/128/100/0.2  \n",
       "Optimal test performance        0.296+/-0.01  "
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "summary_performances_cnn=get_summary_performances(performances_df_cnn, parameter_column_name=\"Parameters summary\")\n",
    "summary_performances_cnn"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7b7ecb0a",
   "metadata": {},
   "source": [
    "The results of the CNN on the simulated data are slightly less convincing than the feed-forward network. There can be several reasons for that. In particular, with regards to the patterns annotated as frauds in the simulated data, the aggregates in `input_features` may already provide enough context to regular models, which limits the interest of contextualization with the sequence. Let us have a look at the impact of some hyperparameters to better understand our model. Let us fix the number of convolutional layers to 2, the dropout level to 0.2, and visualize the impact of batch size, number of epochs, and number of filters."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "id": "8b9f9673",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+MAAAEoCAYAAAAzNCCOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAC6lElEQVR4nOzdd3wU1drA8d/MlvQOKXTpSBfEQpMmCqIoIIrYFRv3cu2Aiopix1fUq14EsYsKiEAsFK8CVrygSFWQXgIhvWybOe8fm2yyJCEBkmzK89V8kp22Zzdkdp45z3mOppRSCCGEEEIIIYQQotrogW6AEEIIIYQQQghR30gwLoQQQgghhBBCVDMJxoUQQgghhBBCiGomwbgQQgghhBBCCFHNJBgXQgghhBBCCCGqmQTjQgghhBBCCCFENZNgXAghhKgD2rVrx1dffVWhbSdPnsxtt91WxS0SQpyKSy65hFdeeSXQzShh0aJFdO/evcLbn8w5SYj6SpN5xuunzZs3M3r0aLp27cr8+fP91u3fv59BgwaxYMECOnfu7Lfu2muvpU2bNkybNs23bOvWrfznP/9h3bp1ZGZmkpSURI8ePbjxxhtp165dqc8/efJkPvvsMwAsFgvx8fH079+fe+65h6ioKL9tf//9d15//XXWr19PXl4eTZo04ZJLLuHWW28lKCjIb9tTaYsQouqc6FwjKtfRo0eJiorCbreXu212djZKKSIjI6uhZULUbqmpqbzxxht8++23HD58mJiYGNq1a8e1115L//79K/35LrnkEoYOHco//vGPUtcvWrSIKVOm+B43bNiQHj16cN9999G0adNKb08hh8NBbm4ucXFxFdr+ZM5JJ8vtdvP555/z5Zdf8tdff+F2u2ncuDEDBgzg2muvLXFuW7duHXPnzmXz5s0cOXKEp59+miuuuMJvG6UUr776Kh9//DFZWVl07dqVadOm0aZNG982mZmZPPnkk3zzzTcADBw4kEceeUTOpeKUSc94PfXpp58ybtw4/vrrL3bu3HnKx/nvf//LmDFjyMvL47nnnuPLL7/kxRdfpGHDhsycOfOE+55//vmsXbuWb775hieffJL//ve/PP74437brFq1imuuuYaYmBjmzZvH119/zcSJE/n444+56aabcLlcldIWIUTVqKxzTUW53e4qf47KVvw8djoaNmxY4YveiIgIuXgUogL279/P5Zdfztq1a7nnnntYsmQJb7/9NhdccAGPPvroKR/XNE0Mwzjl/UNCQli7di1r1qzhhRdeYNu2bdx5551lHrMyzo3BwcEVDsTh5M5JJ2P//v2MHj2at99+mwEDBvDiiy/y9ttvc9ttt7F9+3YuvvhiNmzY4LdPXl4ebdu25aGHHiI4OLjU47755pu89dZbPPLIIyxYsIDY2FhuvPFGcnJyfNvce++9bNmyhTlz5jBnzhy2bNnCAw88UOmvUdQjStQ7+fn5qkePHmrbtm1qypQp6plnnvFbv2/fPtW2bVu1cePGEvuOHz9ePf7440oppfLy8tQ555yjbrvttlKfJzMzs8w2PPjgg2rChAl+y55++mnVq1cv3+PC499xxx0l9t+0aZNq166devPNN0+7LUKIqnGic80999yjJk6c6Le9YRiqX79+6q233lJKKWWappo9e7YaNGiQ6ty5s7rkkkvU4sWLfdsXnquWLl2qrr32WtW5c2f13nvvqbS0NHX33Xervn37qs6dO6thw4apBQsW+D1Xbm6uuv/++1W3bt3Ueeedp9544w01YcIE9eCDD/q2cTqd6rnnnlN9+/ZVXbp0UVdccYVavXr1CV/z+PHj1SOPPKKeeOIJ1bNnT9WzZ0/1zDPPKMMwfNsMGDBAvfzyy2ry5MmqR48e6h//+IdSSqn//e9/6pprrlFdunRRffr0UdOmTVPZ2dm+/UzTVHPnzlVDhgxRHTt2VH379lUvvPCCb33btm3Vl19+6Xv8yiuvqAsuuEB17NhRnX/++er+++/3rTv+HOx0OtWTTz6pzjvvPNWpUyc1ZswYtW7dOt/6n376SbVt21b98MMPavTo0apLly7q8ssvV5s2bTrh+yFEbXfLLbeoPn36qJycnBLril9bvPXWW+qSSy5RXbt2VX369FFTp071W79w4ULVrVs39e2336rhw4erDh06qO3bt6vU1FR1++23q86dO6sLLrhAffrpp2r48OHq5ZdfLrNNhccq7vPPP1dt27ZVO3fu9P29fvvtt2rUqFGqY8eO6ptvvin3nKqUUocPH1b33HOP6tWrl+rSpYu69NJL1Y8//ljq8x48eFDdfvvt6uyzz1ZdunRRQ4cOVcuWLfOtP/6ctG3bNnX99derzp07q7PPPls9+OCDKisry7e+8Lz09ttvqz59+qiePXuqyZMnq7y8PN822dnZ6sILL1QzZ85UpmmW+v6sXLlSnX/++SolJaXU9d26dVMLFy70W2aapurdu7d67bXXfMvy8/NVt27d1EcffaSUUmrHjh2qbdu26tdff/Vts27dOt/7LsSpkJ7xeuirr76iUaNGtGvXjssuu4zFixef0h3TtWvXkp6ezoQJE0pdfzK9Lvv27WPNmjVYrdYSx7/llltKbN+xY0fOO+88li1bVultEUJUjhOday699FK+/fZbsrOzfdv/8ssvHD16lOHDhwPw0ksvsWDBAqZNm0ZycjITJkzg0Ucf5dtvv/V7nhdffJFx48aRnJzM4MGDcblcnHnmmfznP/8hOTmZ6667jkcffZQff/zRt88zzzzDunXrePXVV3nnnXfYtm0bv/76q99xp0yZwrp165g5cybLli3j8ssv54477mDbtm0nfN1Lly5FKcX8+fN5/PHH+eSTT3jnnXf8tpk3bx4tW7Zk4cKF3HPPPWzfvp2bb76ZgQMH8vnnn/Pqq6+ybds2pk6d6vc6X3vtNSZMmEBycjKzZs0iMTGx1DZ8/fXXvPXWWzz66KMsX76cN954gy5dupTZ5sJsoqeeeorFixfTtm1bbr31Vo4cOeK33cyZM7n33ntZtGgRMTEx3HfffSgZ7SbqqIyMDNasWcM111xDWFhYifXFry00TWPq1KksW7aMmTNnsnHjRp544gm/7Z1OJ6+99hqPP/44ycnJNGrUiMmTJ7N3717mzZvHv//9bz7//HMOHDhw0m0t7O31eDy+ZS+88AL/+te/+PLLL+natWu559S8vDyuvfZaDhw4wL///W+WLl3KXXfdVeZzPv744zgcDt59912WLVvG1KlTiYiIKHXbvLw8br75ZkJDQ/n000959dVX2bBhg985DuDXX3/lr7/+4u233+b//u//WLFiBe+++65v/Zw5c+jQoQP33HMPubm5TJ48mT59+nD55ZezaNEihg8fzqBBgxgzZgyvvfZahd+//fv3c/ToUXr37u33np599tm+XvYNGzYQGhrKWWed5dumR48ehIaGluiJF6KirOVvIuqahQsXctlllwHQq1cvQkJCWLVqFRdddNFJHWf37t0AtGrV6pTasWbNGrp3745hGDidTgC/MVC7du064fFbtWrFp59+WiltEUJUvhOda3r37k1ERARfffUVY8aMAbxB7Lnn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\n",
      "text/plain": [
       "<Figure size 1080x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+MAAAEoCAYAAAAzNCCOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAADLFElEQVR4nOzdd3hUVf7H8fe9d3raTAIJAZKAdOnSVEIHKQFFgVWxN1zUXXftoqJiWRv+ZMWyKKJrQ0UWhUgLKE1UEBRFREGBBEhCSJ9k2r3398ckQwJpQJJJOa/n4SGZuTNzJpAz93PPOd8j6bquIwiCIAiCIAiCIAhCvZGD3QBBEARBEARBEARBaG5EGBcEQRAEQRAEQRCEeibCuCAIgiAIgiAIgiDUMxHGBUEQBEEQBEEQBKGeiTAuCIIgCIIgCIIgCPVMhHFBEARBEARBEARBqGcijAuCIAhCE9ClSxdWrVpVo2MfeOABbr311jpukSAIZ2LixIm8/PLLwW7GKZYuXUrfvn1rfPzp9EmC0FxJYp/x5mn37t1MnTqV3r17s3jx4nL3paWlMWrUKJYsWULPnj3L3XfNNdfQqVMnZs+eHbhtz549/Oc//2Hbtm3k5eURGxtLv379uOGGG+jSpUuFr//AAw/wv//9DwBFUYiOjmbYsGHcddddRERElDv2xx9/5LXXXmPHjh0UFRXRtm1bJk6cyC233ILZbC537Jm0RRCEulNVXyPUrmPHjhEREYHJZKr22IKCAnRdJzw8vB5aJgiNW1ZWFq+//jpfffUV6enpOBwOunTpwjXXXMOwYcNq/fUmTpzI2LFj+dvf/lbh/UuXLuXBBx8MfN+yZUv69evHPffcQ1xcXK23p5TL5cLpdBIVFVWj40+nTzpdXq+Xzz77jJUrV/L777/j9Xpp06YNI0aM4Jprrjmlb9u2bRsLFy5k9+7dZGZm8q9//YvLLrus3DG6rjN//nw++ugj8vPz6d27N7Nnz6ZTp06BY/Ly8njyySdZv349ACNHjuSRRx4RfalwxsTIeDP1ySefMH36dH7//Xf2799/xs/z5ZdfMm3aNIqKinjuuedYuXIlL774Ii1btmTu3LlVPvbCCy9k8+bNrF+/nieffJIvv/ySxx9/vNwx69at46qrrsLhcLBo0SJWr17NHXfcwUcffcSNN96Ix+OplbYIglA3aquvqSmv11vnr1HbyvZjZ6Nly5Y1PukNCwsTJ4+CUANpaWlceumlbN68mbvuuovPP/+ct99+m+HDh/Poo4+e8fNqmoaqqmf8eKvVyubNm9m0aRMvvPACv/76K7fddlulz1kbfaPFYqlxEIfT65NOR1paGlOnTuXtt99mxIgRvPjii7z99tvceuut7N27l/Hjx7Nz585yjykqKqJz58489NBDWCyWCp/3jTfe4K233uKRRx5hyZIlREZGcsMNN1BYWBg45u677+aXX37hzTff5M033+SXX37hvvvuq/X3KDQjutDsFBcX6/369dN//fVX/cEHH9SfeeaZcvenpqbqnTt31nft2nXKY6+++mr98ccf13Vd14uKivRBgwbpt956a4Wvk5eXV2kb7r//fn3GjBnlbvvXv/6lDxw4MPB96fPPnDnzlMf//PPPepcuXfQ33njjrNsiCELdqKqvueuuu/Q77rij3PGqqupDhw7V33rrLV3XdV3TNH3BggX6qFGj9J49e+oTJ07Uly1bFji+tK9avny5fs011+g9e/bU3333XT07O1v/5z//qQ8ZMkTv2bOnPmHCBH3JkiXlXsvpdOr33nuv3qdPH/2CCy7QX3/9dX3GjBn6/fffHzjG7Xbrzz33nD5kyBC9V69e+mWXXaZv3Lixyvd89dVX64888oj+xBNP6P3799f79++vP/PMM7qqqoFjRowYof/73//WH3jgAb1fv3763/72N13Xdf3777/Xr7rqKr1Xr156YmKiPnv2bL2goCDwOE3T9IULF+pjxozRu3fvrg8ZMkR/4YUXAvd37txZX7lyZeD7l19+WR8+fLjevXt3/cILL9TvvffewH0n98Fut1t/8skn9QsuuEDv0aOHPm3aNH3btm2B+7/55hu9c+fO+tdff61PnTpV79Wrl37ppZfqP//8c5U/D0Fo7G6++WY9MTFRLywsPOW+sucWb731lj5x4kS9d+/eemJioj5r1qxy93/66ad6nz599K+++kpPSkrSu3Xrpu/du1fPysrS//rXv+o9e/bUhw8frn/yySd6UlKS/u9//7vSNpU+V1mfffaZ3rlzZ33//v2B39evvvpKnzJlit69e3d9/fr11fapuq7r6enp+l133aUPHDhQ79Wrl37xxRfrW7durfB1jxw5ov/1r3/VBwwYoPfq1UsfO3asvmLFisD9J/dJv/76q37dddfpPXv21AcMGKDff//9en5+fuD+0n7p7bff1hMTE/X+/fvrDzzwgF5UVBQ4pqCgQL/ooov0uXPn6pqmVfjzSUlJ0S+88EI9IyOjwvv79Omjf/rpp+Vu0zRNHzx4sP7qq68GbisuLtb79Omjf/jhh7qu6/q+ffv0zp0769u3bw8cs23btsDPXRDOhBgZb4ZWrVpF69at6dKlC5dccgnLli07oyummzdvJicnhxkzZlR4/+mMuqSmprJp0yYMBsMpz3/zzTefcnz37t254IILWLFiRa23RRCE2lFVX3PxxRfz1VdfUVBQEDj+u+++49ixYyQlJQHw0ksvsWTJEmbPnk1ycjIzZszg0Ucf5auvvir3Oi+++CLTp08nOTmZ0aNH4/F4OPfcc/nPf/5DcnIy1157LY8++ihbt24NPOaZZ55h27ZtzJ8/n3feeYdff/2V7du3l3veBx98kG3btjF37lxWrFjBpZdeysyZM/n111+rfN/Lly9H13UWL17M448/zscff8w777xT7phFixZxzjnn8Omnn3LXXXexd+9ebrrpJkaOHMlnn33G/Pnz+fXXX5k1a1a59/nqq68yY8YMkpOTmTdvHq1ataqwDatXr+att97i0UcfZc2aNbz++uv06tWr0jaXziZ6+umnWbZsGZ07d+aWW24hMzOz3HFz587l7rvvZunSpTgcDu655x50sdpNaKJyc3PZtGkTV111FSEhIafcX/bcQpIkZs2axYoVK5g7dy67du3iiSeeKHe82+3m1Vdf5fHHHyc5OZnWrVvzwAMPcOjQIRYtWsQrr7zCZ599xuHDh0+7raWjvT6fL3DbCy+8wD/+8Q9WrlxJ7969q+1Ti4qKuOaaazh8+DCvvPIKy5cv5/bbb6/0NR9//HFcLhf//e9/WbFiBbNmzSIsLKzCY4uKirjpppuw2Wx88sknzJ8/n507d5br4wC2b9/O77//zttvv83//d//sXbtWv773/8G7n/zzTfp1q0bd911F06nkwceeIDExEQuvfRSli5dSlJSEqNGjWLatGm8+uqrNf75paWlcezYMQYPHlzuZzpgwIDAKPvOnTux2Wycd955gWP69euHzWY7ZSReEGrKUP0hQlPz6aefcskllwAwcOBArFYr69atY9y4caf1PAcOHACgQ4cOZ9SOTZs20bdvX1RVxe12A5RbA/Xn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zy1+/vlnvF4vDz74IH379qV9+/an1FuoyDnnnIOmaezatStw25EjR2r0WEmSSEhIIC4urkYX2GrSp5577rns3bv3tC5ctmrVissvv5x58+bx97//nY8++qjS1//tt9/KDfTs3LkTTdNq3M84HA58Pl/g59O/f38WLFhAUVEROTk5gdocv//+O48//jg33XRTjd9H27ZtadmyJV9//XXgNrfbzfbt2wPLgfr27UtRUVG59eE7d+4MzFIQhDMhwngz8tVXX5GTk8O0adPo3LlzuT8TJkxg6dKlgRPIG264gTfeeIPPPvuMQ4cOsWvXLu655x4cDkdgOrvNZuPJJ59k8+bNzJgxgy1btpCWlsbu3bt56aWXuOeee06rfYMGDaJjx4689tpr5Z5/w4YNPPjgg/zyyy8cOXKE5ORkZs6cSb9+/bj22mvrpC2CIJy50+lrJk2axCeffMJXX33FxRdfHHiO0NBQbrzxRp577jmWLFnCwYMH2bNnDx9++GGlJ3ul2rVrx9atW9m+fTv79+9nzpw5pKWlBe4PCQnhsssu44UXXmDr1q3s27ePhx9+GE3TAqMd7du3Z9KkSTz44IOsWrWK1NRUfvrpJxYuXMiaNWuqfP3MzEyeeuop/vjjD1atWsXChQsrHPEu65ZbbmHXrl3Mnj2bX375hYMHD/Lll18ye/bswM/j2muv5cUXX+TTTz8N9MsffPBBhc+3dOlSPvnkE/bu3UtqaipLly7FaDRWOFJks9m48soreeGFF9iwYQP79+/nscce4/jx40yfPr3KdgtCU1e6fdmUKVNYuXIlf/zxB/v37+eDDz4I9FkJCQlomsY777xDamoqK1asOKVoY0XOOecchgwZwqOPPsrOnTvZs2cPDzzwQK3MvjlZTfrUiRMnEhUVxW233cb27dtJTU1l3bp1fPPNNxU+55NPPsnGjRtJTU1lz549bNq0iY4dO1Z47KRJk7BYLNx///3s3buXbdu2MXv2bC666KIaj2DLssyoUaN4//33AXjooYfYv38//fr1Y+TIkZx33nkcPnyYm2++mauvvrrcPuJOp5M9e/awZ88eNE3jyJEj7NmzhyNHjgD+ixvXXnstb7zxBmvWrOG3337jgQcewGazMXHiRMB/QaHsv9fOnTt59NFHGTFiBOecc07N/iEE4SRimnozsmTJEgYNGoTD4TjlvvHjxzN37ly2bNlCYmIiN998MzabjTfffJO0tDTCwsLo168f//3vf8t9SIwePZrFixezYMEC7r33XvLz82nVqhX9+/fn3nvvPe023nDDDTz44IPccssttGnThjFjxvDee+/x+uuvc91111FcXEybNm2YNm0aM2bMKDddqbbbIgjCmTmdvuaSSy7h5ZdfJioqqlwVW4B//OMftGjRgrfeeovHHnuM0NBQunXrVuEOC2XNnDmTtLQ0brnlFiwWC5deeimTJk0qt/75/vvvp7i4mJkzZ2Kz2bj++uvJysoq16f861//4vXXX+f5558nIyODiIgIevbsyaBBg6p8/UmTJqFpGn/5y1+QJImpU6dWG8a7du3Ke++9x0svvcTVV1+NpmnExcWVK+R09913ExERwauvvkpGRgZRUVFMnjy5wucLDw/njTfe4Nlnn8Xn89GhQwdefvnlSgsslfaRDz74IPn5+Zx77rm88cYbNVq7KghNWVxcHEuXLuU///kPL7zwAhkZGdjtdrp27cqcOXMA/+/vQw89xBtvvMFLL71E3759ue+++8oVP6zMM888w8MPP8x1112Hw+HgjjvuOK2R6dNRXZ9qs9l47733eOaZZ/jrX/+K1+ulffv25YrrlqXrOk8++SRHjx4lJCSECy64gAceeKDCY61WKwsXLuTpp59m2rRpmM1mRo0aFagTUlO33347U6dOpWfPnowePZrPP/+crKwsQkNDMRgMXHPNNRVOGf/5558DAzgAL7/8Mi+//DKXXnopzzzzDOC/KOp2u5kzZw55eXn07t2bt956q9ysprlz5/LEE08ERt1HjhwZuGgqCGdC0kXlK0EQBKGZ83g8jBgxgptuuqlcRfPTdc0119CpUydxciYIglBHvvnmG+68807Gjh3LlVdeSefOnZFlmT///JP333+frKysQCE3QWjoxMi4IAiC0Oz88ssv7N+/n169euF0OnnjjTdwOp1MmDAh2E0TBEEQqnD++eezbNkyXn31Va6//nry8/ORZZnQ0FAmTpzII488EuwmCkKNiTAuCIIgNEuLFi3izz//xGAwBKaJiy26BEEQGr7Y2FieeOIJHn/8cbKzs1FVlZYtWwb2dBeExkJMUxcEQRAEQRAEQRCEeiYuHwmCIAiCIAiCIAhCPRNhXBAEQRAEQRAEQRDqmQjjgiAIgiAIgiAIglDPRBgXBEEQBEEQBEEQhHomwrggCIIgCIIgCIIg1DMRxgVBEARBEARBEAShnokwLgiCIAiCIAiCIAj1TIRxQRAEQRAEQRAEQahnIowLgiAIgiAIgiAIQj0TYVwQBEEQBEEQBEEQ6pkI44IgCIIgCIIgCIJQz0QYFwRBEARBEARBEIR6JsK4IAiCIAiCIAiCINQzEcYFQRAEQRAEQRAEoZ6JMC4IgiAIgiAIgiAI9UyEcUEQhLOwceNGxo4dy5gxY1iwYEGFx3zxxRdMmDCBpKQk7r777nL3FRYWMnToUObMmVMfzRUEQRAEQRAaCEOwGyAIgtBYqarKnDlzWLRoETExMUydOpWRI0fSsWPHwDEHDhxgwYIFfPjhh0RERHD8+PFyz/HSSy8xYMCA+m66IAiCIAiCEGRiZFwQBOEM7dq1i4SEBOLi4jCZTCQlJbFu3bpyx3z88cdcddVVREREABAVFRW47+eff+b48eMMHjy4XtstCIIgCIIgBF+TGRlXVRVVVas9TlGUGh0n1D7xsw+emv7sTSZTPbSm6cjIyKBVq1aB72NiYti1a1e5Yw4cOADAFVdcgaZp3HHHHQwdOhRN03j22Wd5/vnn+frrr2v0eqKfa/jEzz54avKzF31cwyf6uYZP/OyDR/RzTU+TCuMnT/+sSFRUVI2OE2qf+NkHT01/9rGxsfXQmuZFVVUOHjzIu+++S3p6OldffTXLly/n888/Z+jQoeXCfG2RJKnWn1OoGfGzDx7xs28axPlcwyd+9sFTk5+9OJdrXJpMGBcEQahvMTExpKenB77PyMggJibmlGN69+6N0WgkLi6Odu3aceDAAXbu3Mn333/Phx9+iNPpxOv1YrPZuOeeeyp9PXGS2vCJn33wiJNUQRAEobERYVwQBOEM9ezZkwMHDpCamkpMTAzJycnMnTu33DGjR48mOTmZKVOmkJ2dzYEDB4iLiyt33NKlS/n555+rDOKCIAiCIAhC0yLCuCAIwhkyGAzMnj2bm2++GVVVmTJlCp06dWLevHn06NGDUaNGMWTIELZs2cKECRNQFIX77rsPh8MR7KYLgiAIgiAIQSbpuq7X1ZNv3LiRp556Ck3TmDZtGjNmzCh3/+HDh5k1axbZ2dnY7Xaef/75wPrJ//3vf7z22msAzJw5k0svvbTK1/J4PGL6ZgMnfvbBI9aMNw2in2v4xM8+eMQ09aZB9HMNn/jZB0999HNer5dDhw7hcrnO6nkEP4vFQnx8PEajscL762xkvCb77z777LNMnjyZSy+9lK1btzJ37lyef/55cnNzmT9/Pp9++imSJHHZZZcxcuTIwNZAgiAIgiAIgiAIQu06dOgQiqIQHR0tCmOeJV3XcTqdHDp0iA4dOlR4TJ3tM16T/Xf379/P+eefD8D5558fuH/z5s0MHjwYu91OREQEgwcPZtOmTXXVVEEQBEEQBEEQhGbP5XIREhIigngtkCSJkJCQKmcZ1FkYr2j/3YyMjHLHdO3alTVr1gCwdu1anE4nOTk5NXqsIAiCIAiCIAiCULtEEK891f0sg1rA7b777uOJJ57gf//7H/379ycmJgZFUc7ouRRFISoqqtrjDAZDjY4Tap/42QeP+NkLgiAIgiAIwZKXl8ff//53ALKzs5FlGbvdDsCbb75Z6ZrquvbRRx9xySWXYLFYgvL6dRbGa7r/7vz58wFwOp2sWbOG8PBwYmJi+O6778o9duDAgVW+nth/twHTdSguJspkIru4GN1kApMJxFW3eiMKuAlCHfN6kYqL/f2d1+vv4wRBEBowTdfQdR0d3f81Orquo6GBDjo6qqaioaFpGpquoeoqWMGn+TDIYlMmoeYiIiJ45513AFi4cCFWq5Xp06cHuVXw8ccfM3bs2KYXxmuy/25pFXVZllmwYAFTpkwBIDExkRdffJG8vDzAv4b8rrvuqqumCnVF05CcTqTsbCSvF1q2RM7KQsc/ZUOz2SAkRIRzQRAaJ7cbqbgYqaAAye3292GqipKVhRYRgW63i1AuCEKtqTA4l35d8n3pbT7Nh4Y/bPt0nz9Ml4ZqtMDjJPznXqVfS0joug5lTslkyb+qVUJClmRyXDlk52cTZY0izBiGIp/ZrFaheXO73UydOpXFixdjMBhwOp1cd911LF68mH/84x907NiRnTt3oqoqs2bN4txzz6W4uJj/+7//448//sDn83HTTTcxZMiQcs+blZXF7NmzcTqdqKrKPffcQ58+ffj2229ZuHAhXq+XNm3aMGvWLJKTk8nKyuJvf/sbERERgUHi+lRnYbwm++9+9913vPjii0iSRP/+/Xn00UcBsNvt3HbbbUydOhWA22+/PTCNQWgEvF6kwkLk3FzQNHSzGd1sBosFPSQE8H+gSB4PktN5IpyHhIDN5j/WaBThXBCEhkXX/QG8qAi5oADd60WSJH8fFxrqP8ZmQw8NRXI6kfPz0cLC/KHcbA5q0wVBCI7THX1WdRVN9wdmn+bzH6/5A3WpsiEa/CG5NJCXBmpJqvhvg2xAluSzWhNsM9ooNhRzvPg4OcU5RFmjCDWFBkK7INSE2Wymb9++fP311wwdOpSUlBSGDRuGweCPpy6Xi3feeYcffviBp59+mvfee4933nmHfv36MWvWLAoKCrjlllvo378/Vqs18Lxr165l0KBBXHfddaiqisvlIjc3l3feeYd58+ZhtVp57733WLx4MTfeeCOLFy/m5ZdfDlrWrNP5JcOGDWPYsGHlbrvzzjsDX48bN45x48ZV+NipU6cGwrjQSLhcSPn5yAUFIEnoFgvIlXTMkgQmk39UnJJw7nYjFRb6v1aU8iPnIpwLghAMmuYP4E6nP4BrGsiyv18ym9EreowkgdXqv9BYEtxFKBeExuHk0eayYbrs3zUdfa5IaXgu+31pOJYluVyglpGRFAkTpgZVVEuWZEKMIaiaSmZxJjkufygPMYoq3ELNTZo0iffff5+hQ4eSnJzMAw88ELhvzJgxAPTp04eioiIKCgr47rvv2Lx5Mx988AEAHo+HjIwM2rVrF3hct27dePrpp/H5fAwZMoTOnTuzZcsWDhw4wF//+lcAfD4fPXr0qL83WoVmtdhD1VT+yPmD/IJ8LIoFs2LGoBgwykYMkkF0HmdC1/3TNLOzweUCgwHdZjv94FxROHe5RDgXBKH+qap/2nlhIXJhIeg6uiz7Z+1UdoGxMqWhvLjYH8pDQ9EdDhHKBaGWlAvInDoKje4fnS4dbVY1NfC9qquouuo/vmRUuiJlp3KXva3sqLOMDJL/dqNiLBewmzJFVgiVQ/FpPjKKMjApJqKsUdgMtmA3TWgEevXqxdy5c9mxYweapnHOOedUemzp79NTTz1FQkJCpcf16dOHV155ha1bt/LUU09xxRVXEBYWxoABA3j88cdr/T2crWYVxnV0fJoPCYkiXxH5nvxyVydNikmE9JpSVf9IUU4O+HzoRiOUTtOsDZLkH3UqOWHVNe3UcB4S4g/nRqMI54IgnB2fzx/ACwqQnU4AdEVBt1prp2+xWPyh3OVCPnTIP1IuQrkgnBGXz8WfuX9yPO84qq6eCMu6Xuk5W3WjzwbFIKZZnwWDbMAgG/CqXo4UHMFqtBJlicJiCE5RLKHxGDduHI899hg33HBDudvXrVtHv379+PHHHwkJCSE0NJSBAweyZMkS7rrrLiRJ4rfffqNz587lHpeenk7Lli25+OKL8Xg87N27l+uuu44XX3yRtLQ02rZtS3FxMceOHSM+Ph6bzUZRUVHTnKbeUBlkAwYMmJXyJ0E+zSdCenW8Xv9U9Lw8/2iR2Vw/J5OyfGo4Ly5Gys9HlyQkWS4fzkXRJEEQquP1+i/y5ef7K6EDusl0ZrN7aspiQbdYyodyux2CVMVVEBojTdfwqB4siqV5nosFS+mSwoJCJJcL3WAAQ/koYVSMGBUjbtVNWmEaocZQIi2RmBRxXiZU7KKLLmLBggWMHj263O0mk4nrr78en8/HrFmzALjhhhuYN28e1157LZqm0bp1a55//vlyj9uxYwcffPABBoMBq9XKI488gsPh4KGHHuLRRx/F6/UCcMsttxAfH8/FF1/MXXfdRYsWLYJSwE3Sdb3CJW+NjcfjqXbrJp/mI0/Ow+v0ntZz+zQfqq4GRtWbZUh3uZDy8vzrwRXljKZrOhwOcnJy6qZ9muY/sfb5/KNPZcN56bT2ZkxsbdY01KSfA7GFY5U8Hn8Az8sLVECvzT7itPs5lwt8PggJQXM4RCg/CzX5fy/6uIavJv1ckbeIYmPxaZ/PCWdA05A8HuRCJ0pBIZKuEx4RQX5ePuBfwqNZLGhWCxiN6AYDutEQuKDp8rnwal4cZgcRlgiMcvM+Hztb9dHP7d69+5TtqOvSl19+yaZNm5g9e3bgtjvuuIPbb7+dbt261Vs76lJGRgbdu3ev8L5mOTJ+uprtSHrZ9eDFxf5ONiSkYU4Hr2zkvKDAXwHZaPSvObfZRDgXhOZE1/0BvKgIKT/fPx1dktCNxhMV0IOpNHy73chpaWCzoUVGilAuCELwaBqS243sLAoEcM1gQCspzKuHhKD6fCeO9flQcvKQSgvW6Tq62YRmsWAzm9EMRgpcueR6cnGYHdjNdrEdmgDAiy++yDfffMMLL7wQ7KYEjQjjZ6HJhvST14ObTBAWFuxWnZ6Twnlgz/P8fBHOBaGp03X/bJ7SLch8PqTqKqAHW+mSH7cbOTXVP1IuQrkgCPWlNIAXOlEKnScCeHV1M2QZXZb9Azalt+k6qBqys+QiKGDWQVMUiozZFFos2MNaEmaLRDaaGuYgj1Av7rrrrgpvD8Z08WARYbwONNqQfvJ6cIul6RQXkuVAASWg4nBeus95aUE4QRAaD007EcBLfq8DFdDL/u43dCeH8tKR8jJ7qAqCINSKsgG8oBAJahbAqyNJYFDQDQo6Zc4jVRWbqkJuEYXH91Ksy0RY7dhCI8Fm818sNRj852Cnu3OFIDRSIozXowYb0l0upNxc/xY+slz1/uBNxcnhXFWRCguRcnNLPkQMIpwLQkNXugVZfr6/Arok+QN4U+jDSkO5x4N8+DBYrSKUC4Jw9ioL4HVZuLKUoqArCphMmAlB01SyfEUoBUW0cEVgwejfLk7X/cU0rVb/uVppQDeI2CI0PeJ/dQMQlJBeuh78+HFwu/37gzeE9ZPBoij+D4nS76sK5yaT+EAQhGDx+QL1IAIV0A2Guq2AHkwmk/9PaSi3WNCiokQoFwSh5k4K4EgSuqLUTwCvgiwrWE0h+DQv6VoeJtlEpDnSvx2aqvprfRQUBN4DiuJft261gsl0IqQ3xb5faDZEomjA6iSkl64Hz84GVfUHy+YcwitTVTiH8tPaRTgXhLpVWgE9Px/J5fKfSJYWlGwuyoRy5fBhdBHKBUGoiqYhu9xITv8acHQdvb5GwE+TQTZikI34VC/pRelYFSsOiwPTyTU+SorFkZODpGn+3XOg4lF0RRSIExoHkSAaoTMJ6VZVwVLswVzgRJEUsIYiicJANVdROC8oQCpdX18aDEQ4F4SzV1oBvbjYH8A9nsAWZM16Bg/4R4NODuWl09cb2Am2IAj1rCSAy4VO/9IdXUc3GM9+DXg9MShGDBjxqG4OFx4m1BSK3WTHqJQsFZRl/58yxeJ0XT8xYJKX5w/opbWASkbRy01zbwQ/h+YuLy+Pv//97wBkZ2cjyzJ2ux2AN998E2M1S0d37NiB0WikZ8+edd3UWiESQxNSUUiXXC7IysJXkE+eDHrpOumiPIyyEbNixqSYMMj+kXRFUhpedfeGSFH8HXzp9yKcC8LZ0XVwu09UQPd6AxXQm30Ar0hpKPd6UY4eRTeZToyUiz5cEJoPVUV2e5ALCpGLihpdAK+ISTFjUswU+4pxep2EG8MJN4djkCs4lypZSojBcCKgQ6CmiOR0+m/UNH9dJLPZP4ouisU1WBEREbzzzjsALFy4EKvVyvTp02v8+J07d2K1WkUYF4JI05CLXSg5uUgeD7rBiB4Reco/tqr5KPYVU+gtLDeSLkL6GagunJtM6CEh/g8AEc4FwU/T/AHc6fQH8NKTpYa8BVlDYzT6i0yKUC7UoY0bN/LUU0+haRrTpk1jxowZ5e7/8MMP+eCDD5BlGZvNxhNPPEHHjh0B+M9//sOSJUuQZZmHH36YIUOGBOMtNC3lArgTdBp9AK+IRbGCrlPoK6TAW4DdbCfUGFqzPcpLZzSaTCdu03V/3ZG8vBPT3EWxuEbh119/5eWXX6a4uJiIiAgeeughWrRowSeffMKyZctQFIV27doxc+ZMli1bhizLrF69mn/+85/06dMn2M2vkvif1pT4fMjOIgy5eaCqaGZzlWsqFdmAUsF/ARHSa8HJ4dzn828bV7LmvHTkvPTqrFjb1HhVd5IK8MUXXzB//nwkSaJr167MnTuXPXv28Nhjj1FYWIgsy8ycOZMJEyYE4R3Us9IK6IWF/h0cym5BJkYnzlzZUH7kiH/0JyrK38eIPlo4C6qqMmfOHBYtWkRMTAxTp05l5MiRgbANMGnSJK688koA1q1bx7/+9S8WLlzIvn37SE5OJjk5mYyMDG644QZWr16NIj7zTt/JARwJXTGgWRveGvBaJUlYFCu6rpHrziXPnYfD4iDEGIIsneZnhiT5g3bZae4gisU1cLqu83//938888wzOBwOUlJSWLBgAbNmzeLdd99lyZIlmEwmCgoKCAsLY/Lkyac9mh5MIow3AZLHi5yfj1LSiWhmC5zFenAR0uvASVOoyoVzXfefONtsIpw3MjU5ST1w4AALFizgww8/JCIiguPHjwNgsVh49tlnadeuHRkZGUyZMoXExETCw8OD9Xbqjs93YguyoiKgpAK6CIq1r0wol0UoF2rBrl27SEhIIC4uDoCkpCTWrVtXrp8LLbOUpLi4OPD5v27dOpKSkjCZTMTFxZGQkMCuXbvo27dv/b6Jxqq5BvAKSJKM1WBD01SOu44HQrnNYDv7882T6wLBqcXidB2ptHZJMyoW99GvH/HBng9q9Tmnd5vO5V0vr/HxXq+XP/74g3/84x8AaJpGVFQUAB07duTxxx9n6NChjXbWjQjjjZWuI7ndKLn+k1tdVuq8cz7bkB6mhtVZ2xqdmoTzkBD/fskinDdYNTlJ/fjjj7nqqquIiIgACHyAtG/fPnBMTEwMkZGRZGdnN50w7vX6K6Dn5ZWvgN4AK/k2SWVDecn0dRHKhTORkZFBq1atAt/HxMSwa9euU457//33WbRoEV6vN7DeMyMjg969e5d7bEZGRt03ujFT1RNF2EoDuKF5BvCKyLKCTQ5B1XxkFWVhVIw4LA6shlreWUIUi2swdF2nffv2LFiw4JT7nn/+eX744Qe2bNnCO++8w3//+98gtPDsiDDe2GgaclExSm4esseDZijZYiuIahrSXQYXzgInNoMNq9Hq33qtomIczVFF4Twvzx/ONe1EOC9dcy7CeYNQk5PUAwcOAHDFFVegaRp33HEHQ4cOLXfMrl278Hq9xMfH13mb69TJFdBBFGALtpNDudGI3qKFCOVCrbvqqqu46qqrWL58Oa+99hrPPvvsGT2PoiiBi5aVsXgsZBRnEOpoIn2LqiIVu/y1ZoqKkDT8v6Ph4Q3y91QxKNhLLjAHm1fz4lJdYIBIa8ke5fVNVcHn8//xeqG42P/vZrX6/5jNgenxZ7scy2AwVPv7UZsu73r5aY1i1wWTyURubi4///wzPXr0wOfzcejQIdq1a0dmZib9+vWjd+/epKSkUFxcjM1mw1lauK8REEmosSi7HlzT0Ewm1Aa+x+7JIT3EGIJbcuP0OSnwFqCjY5SN2Aw2LAYLJtlUs6IczUFV4by02EhoqH/kXITzBk1VVQ4ePMi7775Leno6V199NcuXLw+MgGdmZnLvvffy7LPPIlfzIV2Tk1Soxw/rkgroFBVBXp7/JESSwOHwn3Q0QwaDAYfDEexmVM7r9f97qSq0aAEhIQ3yZP9M1PdJanMRExNDenp64PuMjAxiYmIqPT4pKYnHHnvsjB4L/j6zdDlPZYq8RfiMPnKcOTV4Bw1U6Qh4fgGyq9hfhK304pkkQbHPH+oaIHtEBLl5ecFuRjlFajbp2emEKCHYLXZMiqn6B9UlXQen03/+VlGxOLPZ/299msXioqKiqv39iI2NPcvGNyySJPHkk0/y0ksv4XQ68fl8XH755cTHxzNnzhwKCwvRdZ1p06YRFhbG4MGDefjhh9m0aZMo4CacPcntQS4oKFkPLqE18inLsqxg5kT7Vc1HgbeAAk8BGhom2USIMSQwvf20i3M0VRWF89xcZE0DEOE8SGpyohkTE0Pv3r0xGo3ExcXRrl07Dhw4QK9evSgsLOTWW2+t8YdFTU5SoWYf1mdM18HlOrEFmc/n34KsbN9UMireHDkcDnJyGkFAKC5Gysjwn/xHRfmLfTbyUN4cT1LrQ8+ePTlw4ACpqanExMSQnJzM3Llzyx1z4MAB2rVrB8BXX31FQkICACNHjuTuu+/mhhtuICMjI9D3NVs+n38NeH4BSnExOv4Artka9uBKY2BUTBgx4VZdHCk8QpgpjAhzRPBmYIpicbXipptuCnz96quvnnL/a6+9dspt8fHxjWq6ugjjDZGuI7lc/vXgxcXoSt2vBw+Wk0fPfZqXPLf/aquGhkW2EGIKwSSbMCkmURSu1Mnh3Os9NZyHhfkDktlc6dMIZ6cmJ6mjR48mOTmZKVOmkJ2dzYEDB4iLi8Pj8XD77bdzySWXMG7cuCC9gxrSNH8AL9mCrFwFdItFbEHWGJWOwPl8yBkZYDCgNZFQLtQug8HA7Nmzufnmm1FVlSlTptCpUyfmzZtHjx49GDVqFO+99x5bt27FYDAQHh4emKLeqVMnxo8fz4QJE1AUhdmzZze/SuonB3DJvwa8oc9ubKzMigVkPTALM8IUQZgprOEsizzbYnFCkyPput4kzqM8Hk+1V8R9mo88OQ+v01tPrTpNmobsLELJy0P2eNGMxvL7IzZypz2tSdfxaT68uv/fS0LCYrBgM9gwKSaMslGE88p4vUher38UE7C3acNxs7nak2wxanT6NmzYwNNPPx04SZ05c2a5k1Rd13nmmWfYtGkTiqLw17/+laSkJD777DNmzZpVrtjbM888Q7du3Sp9rZr0c1BLI+OlW5CVrYAuy/6LO+L3rlKNZmT8ZKUV7xtxKBcj401DTfq5Im8Rxcbihns+5/MhF7uQC53lAnhTOadriNPUK6TruDQX6GC3+PcobzQzLkuKxeHzIalqYJq7vV07jlczrf1s+7ndu3dXu5xEOD0ZGRl07969wvtEGG8IfD6UQidK6Xpws/m01o80Fmfdees6Xs2LT/cB/jUkVsVKiCkEo2TEqIgrhpVxGI0cdziqLRwiTlQbtjoP4z6fvwBbQQFScbF/BNxo9C99aGTBLFgabRgvVTaUR0b6Q3kj2f9dhPGmodGG8UAAL0RxuQNT0PUmOJrZaMJ4CV3XcKtuJEnCYfbvUd4oB3O8XhwtWnDcWnXleBHGG56qwnjTS3yNiOT2IOfnYygoRJck/3qRRnLSExSSFFgTBCc616KiInRdxyAbRKV2QThdHo9/C7L8/BNbkJlM/hAmND8Gg386pM+HnJnZKEO5INSbkgCuFBQguz2BAK7abMFumVCGJMlYDNbAHuW57lwirZFYFWvjDOVCkyLSSn0rWQ9uyMlDKi72rxsS++6eEUmSMSkn1kPruobT5yTfmw+AQTIQYgwRldoFoSxdP3ULMln2j+CILciEUmVD+clrykUoF5qzsgHc5fZPQRcBvFGQZQWrbEPVfBwrOoZRrqM9ygXhNIgwXl9K14Pn5iJ7vWhGE5o48a1VkiT7C3eU0DSVAm8B+e58dEkXldqF5qtkCzLJ6UQuLPRXQC8dARf9kFAVg8H/f6RsKI+M9N8mQrnQXHi9yC53mQAOurHhbzErVEyRDVhlAz7VS4YzA4vBgsPswGwQBW+F+ic+Seuaz4eSm4fpUBqGY1nosgE1JLTJFPFoyGRZwaJYsRpt2Az+D8w8Tx4ZRRmkFqSSXphOgacAt89NEymdIAgnaBoUFSFlZaEcOIBy+DBSfr5/tDMkBN1ma5K1KYQ6UhLKdaMROTMT5dAhpPx8//8zQWiKvF7kgkKMR45iTj2MISsLNB01JATNFtIk14I3NwbFiM0Ygk/zccR5hGPFx/CqDagOQTN1xx138O2335a77aOPPuL555+v9Pg9e/YAcPfdd1NQum1cGQsXLuSDDz6o8nU3btzIn3/+Gfj+jTfeYNu2bafb/NMmzsTqSGA9eKETHcR68AbAIBsxcOLD06d6yXZlB763GqxYDVbMillUahcaL02D9HSUQ4cA0BXFvwWZ6H+E2qAo/lFxVUU+dgyys8VIudB0eL3ILhdKQaEYAW9GTIoZk2Km2FeM0+sk3BhOuDlc1B4KkjFjxpCSksKgQYMCt6WkpHD77bdX+9iTt5c9HRs3bmTw4MG0b98egFtuueWMn+t0iP9ltUnX/euIcnORXG50RUG1WsV68AbKoJQJ57qOV/VS7CsGRKV2oRHzeKCw0D/yLfoeoa4oin/9eGkoP37cv6ZchHKhsSkN4PklRdgk0ExmEcCbIYtiBV2n0FtIgbcAu9m/HZqoOVS/RowYwYIFC/B6vRiNRo4ePcrx48dZu3Yt//73v3G73YwYMYKbb775lMdOmTKFhQsXYrfbeeedd1i5ciUOh4Po6Gi6dOkCwOeff85nn32Gz+ejTZs2zJ49m99//53Nmzfzww8/8Pbbb/PUU0/x9ttvM3jwYEaMGMH27duZP38+qqrSrVs37rnnHkwmE1OmTGH8+PFs2bIFn8/Hk08+SUJCwmm9XxHGa4OqIhcVY8jJRfL50IxGNNGJNy6iUrvQRGi6htPrxOk7sQUggETFwbzs7eW+ruBxlc0WKT2m7P01eZzQBFQUyh0O9LAwUMQJrNBAlQbwvAIkrxfQRQAX/CQJi8GKrmvkefLIc+fhsPi3QxO1hupHeHg45557Lt988w1DhgwhJSWFkSNHcu211xIeHo6qqtx5553s27ePjh07Vvgcv/76KykpKbz99tuoqsoNN9wQCOPDhg3j4osvBmDBggUsX76cadOmkZiYGAjfZbndbp566inmzZtHfHw8TzzxBP/73/+4/PLLAYiIiGDRokUsXbqUDz74gAcffPC03q9IFGfD6z2xPzj+K6mYRfGHpkBUahcaK6/qJd2ZTkFNlvLqJ4Kyjh4I0DpV11DQdb3Cx9VE2WAulylbUlH4L3u/XGa0tdwxJSdHEhKlN1f3OEmSqr2AUK7NFVywqOxxqqZW+BxNXtlQfvw45OSIUC40KJLHi+QuCeAeD5SMgOuiCrpQAUmSsSj+UJ7tyibXndu49yg/Q+aPPsJSzVrr0+WaPh13SZCtzOjRo0lJSQmE8QcffJB169bx+eefo6oqx48f58CBA5WG8R9//JGhQ4disfgLOycmJgbu++OPP1iwYAGFhYUUFxczcODAKtty6NAhYmNjiY+PB2D8+PF8+umngTA+fPhwALp06cKGDRtq9DMoS4TxMyC53cj5Bf79wWVZrAdvBkSldqExUSQFa0OtCltSLLFs4C9bQLHs7Ronrihoqnbq42rwdZkbq76/0vae3gWLQqUQtVgl3BSOSWmGhTpLQ7mmiVAuBN2pAVxCM5n8/0cFoQYkScZq8G+Hdrz4OHmePCItkVgUS7MK5fVtyJAh/Pvf/2bv3r243W7Cw8P58MMPefPNNwkPD+fJJ5/E7Xaf0XM/9dRT/Otf/6JTp04kJyezc+fOs2qrsaSYoyzLqOrpX5AXYbymyq4HL3ad2FNS/CI2S7KsYMEKJeeWquYjz5MXCBUm2USoKRSTbMKoGEU4F4RSFU5/D1Zjap/NaCOjIINCbyEWxUKEOaJ5nrTJcvlQXlroTYRyoY5JHi+Sqxglv1AEcKHWBLZD07xkFGVgls04LA4sBkv1D27E3JdfXu0odl2w2Wycd955PP3004wePRqn04nVaiU0NJTs7Gy++eYb+vbtW+nj+/Tpw1NPPcW1116Lz+djy5YtXHLJJQAUFRXRokULfD4fa9asoWXLloHXLCoqOuW54uPjSU9PJy0tjbZt27Jq1aoqX/t0iTBeHVVFLirCkJPnXw9uEvuDC6dSZANKmV8nn+olx5UTGD0TldoFoXmQkPxFgACv6iGjKAODZMButmMz2prfhbmKQrnDgR4eLkK5UGskjxepuBiloGwAN4sALtQ6g2zEIBvxqh6OFh0lRAnBbrE3z5lQdWzMmDE8+OCDzJkzh4SEBDp16sT06dOJjo6mZ8+eVT62S5cujBo1iuuuuw6Hw0G3bt0C991yyy3ccsst2O12zj333EAAHz16NM8++yyffPIJTz75ZOB4s9nMrFmzePjhhwMF3CZPnlxr71PSm8gGyx6Ph+PHj1d5jE/zkSfn4XXWYA9BrxeloBAlz79GWDOZwSBOHM6GPSKC3Ly8YDej/uk6Xs2Liupfa4uE1VC/ldodRiPHHY5ql1PExsbWeVuEM1eTfs5dmIcn43fcUgOdpt7EVdTPqZoPt+ZGRsZusWMz2JpvEUhNQyou9oelWg7lUVFR1f5+iD6u4atJP1fkLcKl5+PLykcpKEDyeAMBXJyr1b1mez5XAbfqQtVUwkxhRJgj6rZv93pxtGjBcau1ysPOtp/bvXs3MTExZ/UcQnkZGRl07969wvua6dlA5SS3GzmvZH9wSawHF2pBoFJ7CV3HrbpxFjmRkErW91qxGW2iUrsgNEGKbMAmG9B1jVx3LjmuHMKMYYSZwprftollR8pzcsqvKTeIvk+oGcnlwpCRBi61ZARcjEoKwWFWLCDrOH1OCr2FhJvCCTOFiXM5ocbE/xQ4sR48JxfJ7UY3GMT2FkLdkSRMihkT/pFLXdco8hVR4C0ARKV2QWiqSqvzousU+grJ9+RjM9gIN4djVszNa/mKLPurWJeG8rLT10UoF6qjaUiShCYqoQsNgSQF+vYCbwH5nnyxR7lQY837E690PXh2Lqgquskk9gcX6p2o1C4IzUzpiZsCHtVNujMdk2LCbrFjUSzN63e8bCjPzfWPlNvt6BERIpQLgtC4lPTtpbOgxB7lQk00y086yeNFLixdD66jmS1gadrVEIXGoyaV2kNMIZhls6jULgiNnEkxY1LM+DQvx5zHkGXZX+zNYGteIyqloVzXkfPyIDdXhHJBEBql0u3QNE3luOt4IJTbDLZGMwNK1/VG09aGrrrybHX6Cbdx40aeeuopNE1j2rRpzJgxo9z9R44c4f7776egoABVVbnnnnsYNmwYXq+Xhx9+mF9++QWfz8fkyZO59dZbz75Buo6SkYmcmYcmK2hWa9PaU0dokiqq1J7ryhWV2gWhCSmt0KtpKtmubHLIIcwU1vzWHkrSiVCeny9CuSAIjZYsK9jkEFTNR1ZxFkbZiMPiwGqougBbsFksFpxOJyEhIeKc8izpuo7T6cRSxaBvnX2yqarKnDlzWLRoETExMUydOpWRI0fSsWPHwDGvvfYa48ePZ/r06ezbt48ZM2awfv16Vq1ahcfjYfny5RQXF5OUlERSUhJt27Y920YhFxbhEVPRhUbMoBgxlJaD03W8qheX6ipXqd1mtAX2OBcEofGQZQWr7A+jBZ4C8jx5hBhDCDeGYzY0owr5koRutZ4I5WWnrxtFvyYIQuMR2KNc9ZLhzMBisOAwOxpsnx4fH8+hQ4fIzMwMdlOaBIvFQnx8fKX311kY37VrFwkJCcTFxQGQlJTEunXryoVxSZIoLCwEoKCggOjo6MDtxcXF+Hw+XC4XRqORULG3tyCcqpJK7UU+/56JsiRjM9gwEwE4gtVKQRBOlyRhKRk9cflcFHoLsciWwLryZjNacXIoLztSLkK5IAiNiEExYlBO7FFuM4TgMNsb3MCJ0WikQ4cOwW5Gs1FnYTwjI4NWrVoFvo+JiWHXrl3ljrnjjju46aabeO+99yguLmbRokUAjB07lnXr1pGYmIjL5eLBBx/EbrfXVVMFoekoqdReqrRSe4bTRajeChmxvlwQGhuzYsGMf4lKZlEmiqQQYY5oXuvKy0xflwoKkPPy0CIiRCgXBKHR8Q+imHCrLtIK0wg3hdf9HuVCgxXUf/Xk5GQuvfRSbrzxRnbu3Ml9993HihUr2LVrF7Iss2nTJvLz85k+fToXXnhhYJS9IoqiEBUVVeXr+TwuPEcUbGERtf1WhBpQDAr2CPGzDwZPQTZRUVHIiujoBaGxKl2iomq+wLryCHMEIcaQ5nMSJ0lgtfqX5RQUIJcdKRcEQWhEzIoFc8ke5QXeAiJMEYSbwpvPRVYBqMMwHhMTQ3p6euD7jIwMYmJiyh2zZMkS3nzzTQD69u2L2+0mJyeHFStWMGTIEIxGI1FRUZx33nn89NNPVYZxVVU5fvx4lW3yeVz4VJWivLyzeGfCmbJHRJArfvZBYdL9vx/VhfHY2Nh6alHTUV2hSoAvvviC+fPnI0kSXbt2Ze7cuQD873//47XXXgNg5syZXHrppfXadqFxKl1/qOsaeZ48ct25/nXlpnBMiinYzasfFYRyDAZRlFUQhMblpD3KCzwF2C3+PcrFbjnNQ52F8Z49e3LgwAFSU1OJiYkhOTk5cAJaKjY2lq1bt3LZZZexf/9+3G43kZGRxMbG8u233zJ58mSKior48ccfue666+qqqUJd8qmEbfse+6oUzKqKqX0CxZ074urUEW9MS3HiJDRqNSlUeeDAARYsWMCHH35IRERE4KJhbm4u8+fP59NPP0WSJC677DJGjhxJhBjhE2pIkuTASVyRr8i/rlyxEGGOaD7ryktDuaZBfj6I3x9BEBqjMnuU57hy/Nuhmf17lDeLvrwZq7MwbjAYmD17NjfffDOqqjJlyhQ6derEvHnz6NGjB6NGjeKBBx7g4Ycf5u2330aSJJ555hkkSeKqq67iwQcfJCkpCV3Xueyyy+jatWtdNVWoA6a0wziSV+NYmYIx6zjO0HAKIxxEb/waSdMA8EWElwTzDhR36Uhxp4542rYGWVwJFBqHmhSq/Pjjj7nqqqsCIbt0Oc3mzZsZPHhwoB7G4MGD2bRpExMnTqzfNyE0fqUjK4BX9ZBRlIFBMvj3KzfaxOiK0OT8cHwXx7N+R1ZsmBUzFtmEWTZjUfx/l94m/u8LjU25PcqLj5PrziXKGuW/wBrsxgl1ok4XmQ0bNoxhw4aVu+3OO+8MfN2xY0cWL158yuNCQkL497//XZdNE+qAVOwi4qtNOJJXE/rDT+iyTMH5Azjyz9u5UzoPzBae7O3Gsu9PrL/tw/r7Pqx79xH1yTJkrxcA1WbD1ekcijt19Af0zh1xJ8SJ/WWFBqkmhSoPHDgAwBVXXIGmadxxxx0MHTq0wsdmZGTUS7uFpqu0MJCq+chyZSG7ZOwWOzaDrfmsKxcqVFBQwKZNmwL9TExMDImJiYSHhwe5Zaen0FPI5euux6f7qj3WKBmxKCYsJQHdLJuwlP4tmzGXhHeLbKr6/mqO839txiDW+gq1pHSbS5/mJaMoA5NsItLQuH5XhZoRn8zC2dF1bLv34EheTUTKBpTiYtxt25B+643kjB+Nr4V/FND3tQ8DoFssFPfoRnGPboGnkLxezAcOYd27D8vv+7D+tg9H8ipaLHEBoJmMuDq0p7hTR1yd/SHddU57dHMzWRspNGqqqnLw4EHeffdd0tPTufrqq1m+fPkZPVdNClW6zAqZxxTs4WK6bjA0tEKVGhoun4sCvYBws79ib0PbRqdWaBoGTav296O5WrZsGfPnz2fw4MGB+j3ffPMNL774InfccQeTJ08ObgNPQ6gplC8nfsHRo7vI11TcmgeX6vb/rblxqx7cmhtXyd/l7i/52625KfA5yfJkV3i/jn5GbTNISsnIfEmYLwnv/hBfPtCXjuYHjg08pvxtZtmMtZILBEbJKKYwN3EG2YhBNvr3KC9Kx1xkAWvbYDdLqEUijAtnxHA8G/vqdTiSV2M5mIpqtZA3Yig5SWMp6tX9tNaC60Yjrk4dcHXqAIz136iqmNMOY9m7D+vv+7H+tg/7+o0on3/hf4wi42qX4J/iXhrQO56DFhJSB+9WECpWk0KVMTEx9O7dG6PRSFxcHO3atePAgQPExMTw3XfflXvswIEDq3y9mhSqdBfmoWmqKJYYJA22UKWuc7jgMKlaKjaDjXBzOBaDJditqj2ahiMkpNrfj+ZapPK1115j6dKlp4yC5+Xl8Ze//KVRhXGA1rZWREe4cUu1f1Fe13W8uheX6saleXCf/HdJ4C8X/Cu87dTH5HkLcZe5cOAP/25UXTujtkpI5UfpS/4uN2W/uvsVE1bZUvHFglMuAoip/8FiUIygmnCrHsRQVNMiwrhQcz4fYVu/IzJ5NWFbv0NSNZw9u5P2wF3kjRyCZrPV3mspCu6EeNwJ8eRdNNJ/m65jTM/wT3H/bT+W3/YRum0HjlUpgYe527ahuLM/oLtK1qGr9oYzSiU0LTUpVDl69GiSk5OZMmUK2dnZHDhwgLi4OOLj43nxxRfJKwlumzdv5q677grG2xCag9J15Qp4VDfpznRMigm7xY5VsYrRtWagon9jWZbR9TMbBW6qJEnCJJkwySbqa1KwV/OVD/llR/HLBPrAaH81x5Xen+3JLXNh4MRzeHXvGbfVIpvpF9WT4VHnM6rlYFqYI2vxJyEIzY8I40K1zAcO4UhejX1VCsacXLxRkRy7Yio5SRfhia98u7mywoxgMspwhlO/AJAkvLGt8Ma2In9YYuBmQ9ZxrL/vLxlF34dtz17s6zcG7vdEt/SPnHfyr0Ev7twBX8sWopK7cNZqUqhyyJAhbNmyhQkTJqAoCvfddx8OhwOA2267jalTpwJw++23B4q5CUJdMilmTIoZn+blmPMYsiz7i70ZbGJ/2ybqr3/9K5deeimDBw8OzA44cuQIX3/9NbfddluQWycYZQNG2UCooX5m96m6ilvzlozSnwj5paP5VU39z/cV8m3OTp76dT5P//oK59l7MDo6kVHRg2llaVkv7ReEpkTSm8glUY/HU6N9xotSd+Opg2lNTY3sdBKxbgORyWuw7d6DrijkDz6fnKSLKBg0AAynf8JWn9M3lfx8LL//gXXv7/6g/ts+zIfSkEr+u/vsESXBvGNgFN3TOrbJBnST7iG0XW+xz3gjV5N+zl2Yhyfjd9ySuZ5aJZTVYKepV0HTVNyaGwmJMFMYYaawxlfsrXSaejXr9ZtzH5eXl8fmzZtPKeDW0LZTrEk/V5yXhS/rYJ1MUxeqFxEezvdHdrE2czNrMzaxz3kAgN4R3Rgdncjo6ETaWFtV/STCafN5iomMbIEp+pwqj2vO/VxjJMK4cIKuE/LDTzi+WEPElxuRXW5c7eLJSRpLzrjRqA77WT19sE9S5aJiLPv/wPrbPiy/+dehm/88iOzzV2RVQ2wlReI6BEK6Oz7ujC48NDQijFdvx44dHD58GFVVA7c1tHWUNennHtnwICZ3MRNajyPB1qaeWiaUCnY/d1Z0HZfqQkMjxBhCuDEcs6GRXNQRYbxGsrKyyoXxFi1aBLlFpxJhvOE7uZ/705lKSuZm1mZu5teCfQB0D+/M6OhExkQnEi8+i2qFCONNUyO79C3UBUPmMRyrUnAkr8Z8+CiqzUbORaPISRpL8bldamW0+J09Kmazkyuq7j/qlGazUtSzO0U9uwdukzwezH8eDKxDt/62j8jPvkB2u/2PMZlwdTwnML29uHMn3OckoJvECUBTcu+995KamkrXrl1RFP/FF0mSGlwYr46u62S5s/n8wApeO/AxvSO6MSl2NONihhFuDAt284SGTpKwGPz7lbt8Lgq9hVhkC3aL3b/HbROdOdQc7Nmzh0cffZSCggJatWqFruukp6cTHh7Oo48+Svfu3at/EkGoRPuQOG5pfyW3tL+StKKj/hHzzE3M2/cW8/a9RZfQc/zBPGYI54TEB7u5gtCgiJHxZkryeAjb8i2RyasJ/e57JE2jsG8vcpLGkjc8Ed1Su1V2H/zah0FReGJQIziZ86mYU9NKAvo+LL/5K7orhU4AdEXB1T7BP729dJp7x3PQbNYgN7xyYmS8auPHj+eLL75o8GGjptPUUw9+w9KMzSw/upb9zkMYJSPDW57PpNjRDI7qj7GxTUFuRBr1yHgFfKoXr+5FkRT/unKjrWFWUxYj41W65JJLmDNnDr179y53+w8//MDs2bP5/PPPg9SyU4mR8Yavpv3cUVcmKZmbScnYzM683QB0CIkvGTEfQqfQ9g3+c7chESPjTZM4I2tmLPv+8BdjW7MeQ14+nugWHLvmCnImjMHTpnWwm9cwGBTc7RNwt08gd+wo/226jvFIeklA/x3rb/v9leW/WOO/W5Jwx7UJhHN/UO+AGl5ftViFs9GpUyeOHTtGdHR0sJtSK2IsUdzY7i/ckDCNPQX7+PxoCivTv2Rt5iYcxggmtBrBpNjRdAvrKE6EhCoZFCMGjKiaj+Ou42S7sokwRxBiDGl868qbseLi4lOCOECfPn0oLi4OQouE5iDWEs018ZdxTfxlZLqPsz5zC2szN/HGn4v5z58fkGBrEwjm4vNIaK7EJ2kzIOcXYE/5Ckfyamx7f0czGskfcgE5SWMp7N8XlMa/JrrOSRLeNrF428SSP2KI/zZdx3A8218krmQduu2nX7CnfBV4mKdVTCCYl4Z0X4uo4LwHoVI5OTkkJSXRq1cvjEZj4PbXX389iK06e5IkcW54J84N78TdnW5hy/HtLD+awsdpybyfuowOIQlcHDuGpNiRRJvF/0uhcopswCob0HWNPE8eOe4cwoz+Ym8mRYxONnRDhw5lxowZTJ48mVat/IW10tPTWbZsGUOGDAly64TmINocxRVxF3NF3MUc9+TyZebXrM3cxNsHP2HhgY9obYkJTGXvGd6lYc7AEYQ6IKapN1WaRsj3PxCZvJrwjVuQPV6KO55DzsRx5I4ZgRpRvyO2jWqa+llS8vL9U9vLrEM3p6YF7vdGOvwj6J06UNylI8WdO+GNjanTSu5imnrVvvvuuwpvHzhwYD23pGq1VU09z5vP6oyNLD+awo95e5CROT+yL5NiRzMi+kJsSu0uU2lOmto09UrpOi7Nhaqp2Aw2ws3hwV1XLqapV2vDhg2sW7eOzMxMAKKjoxk1ahTDhg0LcsvKE9PUG77a7OdyPfl8lbWVtRmb2Zq9A5/uI9rcIlD8rY/9XBRJDBqBmKbeVIkw3sQYj6bj+GItjpVrMaVn4AsLJfeikeQkjcXVuWPQ2jV3hw+j0cTfe2pBa0MwyUVF/q3WyqxDtxw4iKT6fx5qaKi/QFynDri6dPJXco9rU2uzFkQYr15WVhY//fQTAL169SIqquGNFNfF1mYHiw6z/GgKK46u44grA5ti5aLoIUyKHU0/R08xOnGamk0YL8OrevDpPgyygQhTRHDWlYsw3mSIMN7w1VU/l+8tZGPWt6zN3MSW49vxaF6iTA5GRQ9mTPQQ+tl7YpCbbzAXYbxpalZhfM0fKynM3M+FLRKb1C+z5HYTvvFrIlesIvT7H9AlicL+fclJGkv+kAvRzQ3jw6o5nqRWRXJ7sPx5AMveE+vQLfv/QPZ4AdAsZoo7noOrU8eSEfSOuNsnoJeZRl1TIoxX7YsvvuD5559n4MCB6LrO9u3bue+++xg3blywm1ZOXe4zrukaO3J/ZvnRFNZkbMKpFtHaEsPE2FFMbDWKdiFtz6bpzUZz7ud8mhev5kVCwm6xYzPY6m9duQjjZ+yRRx7hiSeeqPKYjRs38tRTT6FpGtOmTWPGjBnl7l+0aBGffPIJiqIQGRnJ008/TZs2/u2snnvuOTZs2ICmaQwePJiHHnqoyhkUIow3fPXRzzl9RWzK+o6UzM1szPoOl+bGYYxgRMsLGBMzhIGOPs2uGKkI401TswrjV39xFevTvqSVuSXT2iZxWZvxRJns9dPA2qbrWPbuIzJ5Nfa1X6IUFuKJjSFnwkXkjB+Dt1VMsFt4iuZ8klpjPhXzodQT69B/34/1t/0oRUUAaAYD7nPa+ae4d+6Iq0tHijucg26telqxCONVu/jii1m0aFFgNDw7O5vrr7++QVUYhroN42UVqy7WH/ua5UdT+Ob4TjQ0ekV0Y1LsKMbFDCPCKAoTVkb0c6BpKm7Nvz1k6bpyo3L6FxFP80VFGK9Cbm5uhbfrus4ll1zCxo0bK32sqqqMHTuWRYsWERMTw9SpU3nxxRfp2PHEbLtvvvmG3r17Y7Va+eCDD/juu+946aWX2LFjB8899xzvv/8+ANOnT+euu+5i0KBBlb6eCOMNX333c8Wqiy3Ht5OSuZkNx77FqRYRZgj1B/PoRC6IOg+T3PT/L4gw3jQ1q0tKb478D1/88Dbvpa3k5f1v8/of7zM2ZiiXx02iV3jXRlHFUcnNw75mPY7k1Vj3/4lmMpE3PJGcpLE4+/YCuWFOKX3jZxWzuZBrOwW7JQ2cQcF9Tjvc57Qjd/wY/22ahunw0XLbrIVv+YbI5NUA6LKMO76tP5yXrkPv1BEtLDSIb6Rx0XW93LR0u91OE7lOeUasioWkViNJajWSTPdxko+u5/Oja3nq1/k8t/c/DGs5iEmxo0mMGtDsRiaE6smyglW2ga5T6Csk35N/Yl25QdQjCIYLLriA1q1bl+vXJElC13Wys7OrfOyuXbtISEggLi4OgKSkJNatW1cujJ9//vmBr/v06RO4kClJEh6PB6/Xi67reL1eWrRoUZtvTWgGrIqF0dGJjI5OxK162Jq9g5TMzXx5bCufH11LiGJjWMtBjIkewoVR/bCKuidCI9KszqIMsoHRLS9gaPQw/nQe4qO0FXx2ZC0r0tdxblgnroibxLiY4ViUMx9RqhOqSuh3O4hMXk3Y5q3IPh9F3Tpz+J6/kTtqeKMIXX/k6xgUH9DwL3g0OLKMJ64Nnrg25I0qKbSj6xgzj/lHzvf616GH/LALx5r1gYd5YluVBPMOFI24ENqduq2N4JeYmMhNN91EUlIS4J+2PnTo0CC3qmGINkdxQ7tpXJ8wlV8L9rP8aArJ6etJydyMwxjB+FYjuFhskyZURJKwKFZQwKO6SXemY1JM2C12rIpV/H+pR3Fxcbz99tu0bn3qFqbVFXDLyMgIVGAHiImJYdeuXZUev2TJkkD/2bdvXwYNGkRiYiK6rnP11VfToUOHM3wXggBmxcTwluczvOX5eDUv32b/QErmZtYf+5ov0r/EIpsZ2mIgo6MTGdpiEDaDNdhNFoQqNaswXlb7kHge6HIbf+twPSvS17E4dTmzf3mRub+/waWtx/GXthNpa21V/RPVIVPaYRzJa3CsSsF4LAtfRDjZl00iO2ks7g7tg9o2IcgkCW9MNN6YaAoSLwjcrOTkYi0J6Jbffsf6+34ivtpMwW+/kT9kfBAb3LDdf//9rF69mh07dgBw+eWXM2bMmCC3qmGRJIlu4R3pFt6Rf3a6ma9Ltkn7JC2ZD1KX0SEknkmxo0lqNYoYixj5EsozKWZMihmf6uWY8xiyLGM3+9eVK02ohktDdd1115Gfn19hGL/55ptr7XU+++wzfv75Z9577z0ADh48yP79+9mwYQMAN954I9u3b6d///6VPoeiKNUW0HTKKtk5adjDql6WINQNxaBgr2ZJSH2Z6BjNxA6j8Wk+vsnaycrDX7Lq8FesydyEWTYzvNX5jG8znNGxQwg3NvzBq6p43SZkRW6QBWaFM9es1oxXVU1d13W25+xicdpy1h/bgqbrDGkxkCvjLuaCyPPqrTKsVOwi4qtNOJJXE/rDT+iyTMGg/uQkXUTB4PPPqHhXQ9CctjZraORCJwazTGjH88Sa8UauvtaMn458b0Fgm7Qf8n5BQgpskzYyenCz2yZNrBmvGU1T8WgeAMJM/nXlZ1XsTawZrzM7d+5k/vz5LFy4EID//Oc/ANx6663ljvv666954okneO+99wJh4c0338TtdnP77bcDMH/+fMxmM7fcckulryfWjDd8Db2fU3WVH3J/YW3mZlIyN5PpzsIoGbkgqi+joxMZ0fKCRln7RKwZb5qa7cj4ySRJYkBkbwZE9ibddYxPD3/BksMrmbnzIeKtrbk8bhKXxF5UN1fVdB3b7j04klcTsW4jSlER7ratSb/1BnLGjcbXUowyCWdOCw0B3RPsZjRIV155JR9++CF9+/YtN2VW13UkSQqMlAuVCzeGMa1tEtPaJnGw6DArjq5j+dEUZu1+DtuvVsZEJzIpdjT9Hb3ENmlCgCwrWGQruq5R4Ckgz5NHiDGEcGM4ZkMDWyrWhHg8HjZu3MihQ4eIjIxkxIgRRFRzAaNnz54cOHCA1NRUYmJiSE5OZu7cueWO+eWXX5g9ezZvvvlmuVG71q1b8/HHH+Pz+dB1nW3btnHdddfVyXsThFKKpNDP0ZN+jp7c1/lWfsr7NRDMN2Z9h0FSGOjo4w/m0Rc23mLOQpMgRsar4NW8rM3czOLUz/kh7xcsspmk2JFc0XYSXcLOfs2TITsH+6oUHF+swXLgEJrFTO7IoeQkjaWoVw9oQuvp5v/ow2QyMaNb89xnPNhENfWmoSGOjFfEv03a7pJt0jbiVIuItUST1Gokk2JH0z4kLmhtq2sNfcSowdJ13Jobn+7DIluwW+xYFEvN15WLkfFqrV27lrfeeovx48fTrl07srOzWbZsGffeey/du3ev8rEbNmzg6aefRlVVpkyZwsyZM5k3bx49evRg1KhRXH/99fz222+0bNkS8P+cX3/9dVRV5fHHH2fbtm1IksSQIUN48MEHq3wtMTLe8DXWfk7XdfYU7GNt5ibWZmziUPERZGT6OXoyJjqRkdGDiTY33CngYmS8aRJhvIb25O9jcdpyVqZ/iUtz09fenSvbXsyo6MEY5dOYOu7zEfbNNhzJqwn/+lskVcPZ81xyksaSN3Ioms122m1rLBpr590UiDBetUOHDtGqVStMJhPffvste/fuZfLkyYSHN6xpbI0ljJdVrLr48thWlh9NYevxHWho9AzvyqTY0Yxv1fS2SRP93NnzqV68uhdFUvzryo226mdViDBepR07dvDKK6/w6quv8ssvv+Dz+QDIy8vjo48+Yty4cbRr145+/foFuaUijDcGTaGf03Wd3wv/9AfzzM384TyEhESfiHMZHZPImOhEWlmig93MckQYb5pEGD9Ned58lh1Zw0dpK0grPkoLUyRT20xgatsJVV5NMx84hOOLNdhXpWDMzsEb6SB33Ghyki7CnRB/xu1pTJpC591YiTBetUsuuYRPP/2Uw4cPM2PGDEaOHMm+fft44403gt20chpjGC/rmPs4X6R/yedHU/i98E8MkoFhLQZxcexoElsMOL0Lmw2U6Odqj6r58GgeJCQizBGEGEMqX1cuwniVbrvtNh544AHi4+N58skn+emnnxgwYADbtm2jb9++XHfddcyZM4fXXnst2E0VYbwRaIr93P7Cg6RkbmZt5iZ+K/wTgB7hXRgTPYQx0Ym0tQW/7xBhvGkSa8ZPU4QxnOsSpnJN/GVsOb6dxanL+c+f7/PmgQ8ZFT2Yy9teTD97DyRJQnY6iVi/EUfyakJ+3oOuKORfOIicpLEUnN8fDM3nx++fpl7AjG7BbokgnEqWZQwGA2vXruXqq6/mmmuuYfLkycFuVpPT0hzFdQlTuTZ+CnsL/whsk7bu2BbsxnDGxwzn4tZjODesk9j2SkCRDVhlA7qukefJI8edQ5jRX+zNpIgQdjqOHj1KfLz/wv/evXt59913MZlMuN1ubrnlFmJjY0lLSwtyKwUheDqEJtAhNIFbz7mKg0WH/cE8YxP/t+9N/m/fm3QN68iY6ETGRA+hXUjbYDdXaEKaTxqsZbIkM6TFQIa0GEhq0RE+SlvBsiOrWZ2+kSszW3Hvbge9vvsDxeXG1S6eo7fdTO640fgiHcFuelAcdoLBpSL2GRcaIoPBwIoVK1i2bFlgZKh0GqdQ+yRJomtYB7qGdeAfHW9ia/b3LD+awqdHVvJh2uecE9gmbSStLC2D3dyaU1Vwu8GngiI3qbofwSRJsn+/cl3H6XOS78nHZrARbg4/vXXlzZjBYKCwsJDQ0FA0TeOPP/6ga9eu/Pnnn/h8PjweDxZL89r5QBAqk2Brw03tLuemdpeTVpzOuszNrM3czMv73+bl/W/TMaQdY2L8I+YdQhJEHyScFTFNvZYYjmURmrwS24oVRKXnkm+CT3sZOHDRhfQfei3tQptuwaKaEFubBZeYpl61ffv2sXjxYvr06cPEiRNJTU1l5cqVzJgxI9hNK6exT1OvTr63kDWZG1l+JIWdebuRkBgU2YdJsaMZ1XIwNoM12E08laoSsnMX9rVfErFhM0qhM3CXLsvosgyKUvK3jB74uszfysnHldymKCDL6LJy4rGltwX+liu4zf/4Cm8rfQ25zGuU3Ob/unxbArcF2lLBbYpSro0nbjvxXsrdZjjpZyCf/oULr+rBp/swyAbsZjtW2UxUaJiYpl6Jt956C6/Xy6233srBgweZO3cuubm52O12/vnPf/Ltt9+Sk5PDzJkzg91UMU29EWiK09RrIt11jHWZW1ibuYmdubvR0Wlna+ufyh4zhC6h59RpMBfT1JsmEcbPguT1ErblGxzJawj7djuSplHYpxfZSRexpW8U7x5bzdrMzfh0HxdG9uOKuIsZ0mIAiqTUyus3JiKMB5cI401DUw/jZaUWHWH50XUsT0/hcHE6VsXC6OhELo4dw4Bgb5Om61j27sO+dj32dRswZh1Htdn4stsFHI2JY0xrHUlVkTQNNBVJ1UD1/y1pqv9rTQNVO3Fc2b9VreLbVBW0MveV3B54De2k48r8Hbi9gfJfkCi9GHDShYOyFwZkGd1Q9sKAjCZLICto112L8+rrq3yd5trHeTweZsyYwfjx47n88svL3ffpp5+ybNkyFi5ciMkU/HArwnjD11zDeFlZ7mzWHdtCSuZmtmXvQkOjrTWWMdGJjI5OpEd4l1oP5iKMN02VhvHs7Gyys7Pp2LFjudv37dtHZGQkkZGR9dLAmqrPMG7e/yeRyauxr1mPITcPb8sW5IwfQ86EMXjatil3bJY7m6WHV/Hx4WQy3Vm0tsTwl7YTuaz1OOymplVFuCoijAeXCOMVu/POO5k3bx6TJk2q8P7ly5dX+xwbN27kqaeeQtM0pk2bdspo+tKlS3nuueeIiYkB4Oqrr2batGkAPPfcc2zYsAFN0xg8eDAPPfRQlR/ezSmMl9J1nR25Pwe2SStUi2hlbklS7Egujh1N+5D6K4BpOnzEPwK+Zj2WQ2loBgMFFwwgd8xICgYP4oHvlYbfz2lauYBeGvjLBfiSiwaBr8tcBDjltpMuLJS/rexrVHRb2cdUcJvvpNcN3FbmwkbpbapK4V8ugWturfLtN7c+riyPx8OCBQvYsGEDsbGxKIrC0aNHGTRoEDNnzmww09RFGG/4RBgvL9uTy5fHtpKSuZlvs3fi01ViLdGMLgnmvSO61coFZBHGm6ZKw/g///lPpk+fzoABA8rdvn37dj788EPmzp1bLw2sqboO43JBIfaUL3Ekr8H2629oBgP5Qy4gJ2kshQPOA6Xq0W6v5uOrY1tZnPY523J2YZKNjI8ZzhVxF9M9vPNpt6exeeNnFbPZxLWdGu7ITFMmwnjFMjMziY6O5vDhwxXe36ZNmwpvL6WqKmPHjmXRokXExMQwdepUXnzxxXIXMZcuXcrPP//M7Nmzyz12x44dPPfcc7z//vsATJ8+nbvuuotBgwZV+nrNMYyX5VLdgW3Svj7+PRoaPcK7cHHsaMbFDK+TC5xKTi729Ruwr/kS2+49ABT26UXuRSPIH56IWmb7O9HPBY+u+rCZDYTE96zyuObWx1UmOzsboMENrIAI442BCOOVy/cW8OWxb0jJ3MzXx7/Hq3uJNkcxquVgRkcncp6jxxnPkBVhvGmq9Mz84MGDpwRxgP79+/PYY4/VZZsaDk0jZMePRCavJnzDFmSPh+IO7Tly50xyx4xAtVe9Nq0so2zwF3uIGcK+wgMsTlvO8qMpfHZ0LT3Du3JF3CTGxgzFJDfND5ZbeijYI0JF5y00KNHR/j1ENU0jOjoas9kfYF0uF1lZWdU+fteuXSQkJBAX568JkZSUxLp1606ZUVQRSZLweDx4vV50Xcfr9dKiRYuzeDdNn0UxM77VcMa3Gs4x93FWpn/F50fX8vTeV3jut/8wrMUgJsWOZshZbpMmFxUTvulr7GvWE7p9B5KqUdyhPUdn3kTe6OF4Yyree1b0c0JjsGPHDg4fPoxaZtmC2D1CEGpHuDGMS1qP4ZLWYyj0OdmQ9S0pGZtZemQVH6Z9TqTJzqiWFzI6OpH+jt4YK9uuUWg2Kv0f4HQ6K7sLr9dbJ41pKIzpGTi+WIvjizWY0jNQQ0PJSRpLdtJYXF06nnWF3I6h7Xi469+4s+ONLD+SwuK0z3lo9/O88NsCLmszjr+0nUispeKTPUEQat+dd97J4sWLA9/Lssydd97Jp59+WuXjMjIyaNWqVeD7mJgYdu3adcpxa9asYdu2bbRv354HH3yQ2NhY+vbty6BBg0hMTETXda6++mo6dOhQe2+qiWtpjuLahClcmzCFvQX7S7ZJ+zKwTdq4mGFcHDuG7uGda7Zuz+cj7Nvt2Nd+SfjmrcguN55WMRybPo3cMSNxn9Ouzt+TINS1e++9l9TUVLp27YpSMqNPkiQRxgWhDoQaQkhqNZKkViMp8hWz+fg2UjI3syJ9PZ8c/oIIYxgjS4L5+ZF9z+oistB4VRrGExIS2LBhA8OGDSt3+4YNGwKjQE2J5PYQvnELjuTVhH7/A5KuU9C/L+m33kD+0AvRzbU/5TPMEML0+Eu4Mu5ivs3eyeK05Sw68AmLDnzC8Jbnc0XbSQyK7NsktkyYu8OH0VjA36ueQSgIQaGqarnCRSaTqdYuOo4YMYKJEydiMplYvHgx999/P//97385ePAg+/fvZ8OGDQDceOONbN++nf79+1f6XIqiEBUVVeXrucwKGcdk7OE1n7nT2A2KOI9Bbc/jMe0uNmZ8x6eHvuB/R1azOG05HcMSuCx+ApfFj6O1Lab8AzUN048/EZK8GuvqdSi5eagR4RRdPAFn0lg8fXqBLGMFalLHfc7mAiS5kEcubD4/+4ZC03zobne1vx/N3c8//8wXX3zRJM4rBKExsRmsXBQzlItihuJS3Ww9/j1rS/Yy/9+R1YQZQhjW4nzGRCdyQVQ/LErTW2omVKzSMD5r1ixuvfVWVq5cSffu3QF/J/7DDz/w+uuv11sD65SuY/ltX0kxti9RCgvxtIoh84aryRk/Gm9sq+qfoxZIksT5UedxftR5HHVl8nHaCpYeXsX6Y1/T3hbHFXGTmBQ7mlBDSL20py5kucDgFfuMCw1TZGQk69atY9SoUQCkpKTgcDiqfVxMTAzp6emB7zMyMgKF2kqVfZ5p06bx/PPPA7B27Vp69+5NSIj/93rIkCHs3LmzyjCuqmq1aym14iIsspkjWUewGqxIwaw6HgTn2bpzXtfu3N9hJmszN/H50bU8t/s1nt/9OgMjezOp1WgmOeNptX4L9rVfYUrPQDObyU+8gNyLRlA4sB+6sWR0oqDgtF77aIG/UKWYpl7/SteMV/f70dzXUnbq1Iljx44FlugIglD/LIqZEdEXMiL6Qjyah2+zf2BtxibWH/uaFenrsClWhrYYyOjoISS2GIBNaRjFFYW6UWkYb9euHcuXL2f58uX8/vvvAAwYMIA5c+YE1lU2VkpePvY163Ekr8a67w80k5H8YYlkJ43FeV5v/56nQRJriebOjjfy1/ZXsyZzIx+mfs6/9r7KvH2LmBQ7mivaTqJDaELQ2icITdHjjz/OPffcw5w5c5AkiVatWvHss89W+7iePXty4MABUlNTiYmJITk5+ZTilqVF4gDWr18fmIreunVrPv74Y3w+H7qus23bNq677rqzfi+yJNMiJAaXZCTblY1JMmFQmt/Ut3BjKFPajGdKm/GkFh1hy+7l2FauJWnHD/TKAFWWONKnE9rN11A4dDCazRbsJgtCncvJySEpKYlevXphNJ7oF5rMIIsgNDIm2cSQFgMZ0mIgj2h3sj3nR9ZmbmZd5hZWZWzAIpsZHNWfMTFDuDC8Fw2v5KJwtqqsGmAymRg4cGCg2mbHjh0bdRA3/fgjES+9QOjm75C9Xoq6dubw3XeQO2o4WnhYsJtXjlkxMSl2NJNiR/Nz3l4Wpy3nf0dW8VHacgY4enNF20mMaHkhBrn57VkuCLUtPj6ejz/+OFAro3S0ujoGg4HZs2dz8803o6oqU6ZMoVOnTsybN48ePXowatQo3n33XdavX4+iKERERPCvf/0LgLFjx/LNN98wadIkJEliyJAhjBw5slbejyRJhJvCMctmjhUfw6UWY1FqMtG6aZHzC4j4ahPt13zJ+B9/QtJ1jnWJZ+GIEJ5KOMCf1t+IMb/NxCOpTIodzTn1uE2aIATD3/72t2A3QRCEShhlAxdE9eOCqH7M6nIHO3N/Zm3mJlIyt7Du2BZMkpH5A+cwsZpq6kLjUunWZoWFhTz00EPs3r2bbt26oes6e/bsoXv37jz99NOEhobWd1urVJOtMCKTklD+2EfuRaPImXARrk6Nq1hSjieP/x1ZxcdpyRxxZRBtbsFf2iQxpc14oszVT6kNJrHPeHCJrc2qlpWVxYsvvkhmZiZvvvkm+/btY+fOnYH9wBuKmvRzuFxEOZ3klKx5VzWVXHcuBZ4CLIoFuYlfwJPcbsK2fIt97XrCtm5D9vlwxbcl76KR5I4ZgadNa8C/TdqGrG/4/EgKX2dvR9U1eoR3ZlLJNmkO0+mv+xb9XPCIrc1qLisri59++gmAXr16Nbh19mJrs4ZPbG1WvzRd48e8PWzK3MqUDkn07nRRlceLfq5xqTSMP/DAA7Rp04bbb78duWTatq7rvPLKKxw6dIjnnnuuXhtanRrtM16YT1HaL3hMjXftNYCqq2zK2sbi1M/5Ovt7DJKBi2KGcGXbi+kV0a1BFmZ5Z4+K2WzminN8wW5KsyTCeNVuvvlmLrvsMl5//XU+//xzfD4fl156KcuXLw9208o5kzBeyul1crz4OJIkYW5q689UlZAdP2Jfu56IDVtQnEV4oyLJGz2cnDEjq90FI8udzcr0r1h+NIVfC/djkAwMbTEwsE1aTbecFP1c8IgwXjNffPEFzz//PAMHDkTXdbZv3859993HuHHjgt20ABHGGz4RxoND7DPeNFV6Zr5jxw6eeeaZcrdJksQdd9zBRRdVfUWmwTKZwNj4104qksLwluczvOX5HHCm8VHacj47soYv0r+ka1hHrmg7ifGthmNtQCfc13VTsEeEiM5baJBycnKYMGECCxYsAPzTz+Ug1o6oCyHGEMyKmaziLIp8TmyK7ay3aQwqXce693fsa9YTsW4DxuPZqCE28oYlknvRSJx9e4FSs1kALcyRXJNwGdckXMZvBX/w+dEUvkj/kvXHvibCGMa4mOFcHDuaHuFdqrzYKfo5oaF7/fXXWbJkSWA0PDs7m+uvv75BhXFBEITm5Ix2mq9kMF0IgnYhbbm/y0z+1uF6ktPXszhtOY/t+T9e/P0NJrcey+VtJxJnax3sZgpCg2az2cjJyQkErR9++IGwsIZVR6I2GGQDMbYY8j35ZLuyMStmDI1sX1NT2mHsa7/EvuZLzKlpaEYjBRcMJHfMCAouHHjW21B2DjuHe8Jm8I+ON7E1ewfLj6aw7MhqPkpbTjtbWybFjmZi7ChiLaIatdD46Lpeblq63W4X53SCIAhBVGkY79u3L/Pnz+f2228vNxLwyiuv0KdPn/pom3AabAYr09omMbXNBL7P/ZmP0j7ng9RlvHtoKYlRA7gi7mIGR/VDDtI2R09v82Ey5nNPn6C8vCBU6YEHHmDmzJkcOnSIK664gpycHObNmxfsZtUJSZKIMEdgVvzF3Xyqr8EXdzNk5xCxbgP2Neux7dmLLkk4+/Tk2PSp5A1LrJMCnAZZYUiLAQxpMYACn5O1GZtYfjSFl/e/zfz97zDA0ZtJsaMZE52IzeD/+Yl+TmjoEhMTuemmm0hKSgL809aHDh0a5FYJgiA0X1UWcJs1axa//PIL3bp1A2DPnj2ce+65PPnkk4SHh1f75Bs3buSpp55C0zSmTZvGjBkzyt1/5MgR7r//fgoKClBVlXvuuYdhw4YB8Ouvv/Loo49SWFiILMssWbKkykruNVoz7nFRlLobTzNZY5TpPs6StC9YcvgLsjzZxFljubztJCa3vohwY/2O+onCRsEl1oxXTlVV3n33Xa6++mr+/PNPdF2nffv25bb9aSjOZs14RVRNJdudjdPrxKo0rD3J5aIiwjdswb72S0K370TSNIo7dSB3zAhyRw/HF90yKO1KKzrKivR1LD+aQmrxUSyymdHRiVwcO5plv3bHaDCJfi4IxJrxmlu9ejU7duwAoH///owZMybILSpPrBlv+MSa8eAQa8abpkrDeKlDhw6xb98+wL+1WXx8zbZ+UVWVsWPHsmjRImJiYpg6dSovvvgiHTt2DBzzyCOP0K1bN6ZPn86+ffuYMWMG69evDxRPev755+natSs5OTmEh4ejVLH+T4Txynk1L+syt/Bh2ufszN2NRTYzodUIroi7mK5h9VNRXoTx4BJhvGpTp05lyZIlwW5GtWo7jIN/2qrT6+S46zgGyYBRCV7/KHm9hH77Pfa16wnf/A2y240nNobc0SPIvWgk7vYJQWvbyXRd54e8X1h+NIXVGRso8DmxSFG0MlzAHV1709/Ri0iTPdjNbDZEGG86RBhv+EQYDw4RxpumateMx8fHlwvgf/75JwsXLuTJJ5+s8nG7du0iISGBuLg4AJKSkli3bl25MC5JEoWFhQAUFBQQHe1fg7dlyxa6dOlC165dAXA4Gva2XQ2dUTYyrtVwxrUazt6C/SxOW07y0fUsPbKKvhHduTxuEmOiEzE2srWjglBbzjvvPObMmcOECROwWk9M2e7evXsQW1U/JEki1BQamLZe7CvCqljrr7ibpmH7abe/ENuXmzDkF+CLCCdnwkXkXjSCoh7nNshCc5Ik0dfenb727tzfeSYbsr7huV/WkupN4Z6fVgDQISSBgQ5/MO/v6HVG26UJQm248sor+fDDD+nbt2+5pYe6riNJUmCkXBAEQahflYbxX3/9leeee47MzExGjRrFVVddxRNPPMGPP/7IjTfeWO0TZ2Rk0KpVq8D3MTEx7Nq1q9wxd9xxBzfddBPvvfcexcXFLFq0CPAHfkmSuOmmm8jOzmbChAnccsstZ/oehTK6hHXg0W7/4J8db+KzI2v5KG05D/z8DM+bHExtM56pbZKIsbQIdjMFoV7t2bMHoNw6cUmS+O9//xusJtU7o2KkVUgrcl255HnzsMgWFPmManzWiHn/n9jXrMee8hWmjEw0i5n8IRf6C7EN7AeGunvt2mZWTFwUM5Qv91+ILOv8pds+tufsYlv2j/zvyGo+TPscgM6h7env6M1AR2/6OXoQYax+uZcg1IYPP/wQgJ07dwa5JYIgCEJZlZ7tPPLII1x55ZX06dOHjRs3MnnyZCZPnswLL7xQ5drt05GcnMyll17KjTfeyM6dO7nvvvtYsWIFqqry/fffs2TJEqxWK9dffz09evTgggsuqPS5FEUpVyG0Ij6PC88RBVuYGJ2wE8HfWtzA7T2vY2PGt7yzfwkL/vyQNw98xNjWw7i+w1QGtehba3uWD2pThKxI2CMadqGopspTkE1UVFS109Sbq3fffTfYTWgQZEkm0hqJ1WjlWNExvLq3Vou7GdMziUj5EvvaL7Hu/xNdkSkc0I+MW28gP/ECNFvj7h96t5CwmK30juhG74hu3NTucryal935v/Fdzo9sz9nF0sMr+SB1GRISXULPob+jFwMie9PP3qPea3kIzc+hQ4do1aoVJpOJb7/9lr179zJ58uQa1QESBEEQal+lZ+Yej4fLLrsMgHPOOYd3332X++67r8ZPHBMTQ3p6euD7jIwMYmJiyh2zZMkS3nzzTcBfvd3tdpOTk0OrVq0YMGAAkZGRAAwdOpTdu3dXGcZVVa3RmnGfqlIk1rmU08d6Ln16zCbtnKN8fDiZ/x1ZxReH19MhJIEr4y5mYqtRgWrBZ2pyglhjFEwm3f/7IdaMVywnJ4dXXnmF77//HkmSOO+887j99tub7RIZq8FK69DWZBdnU+wtwmKwnHFxNyU/n4j1m4hI+ZLQH34CwNmjG4f/eTt5I4eiOuy12PLguqKzgj3CVq6fM8pG+ti708fenRntp+PRPPyc/xvbsn9kW84uPjmczHup/0NComtYBwY4ejHA0ZvzHD0JM4QE8d0ITdHf/vY3Pv30Uw4ePMjs2bMZOXIkd999N2+88Uawm3badF1HR2tQhScFQRBOV6Vn5m63m19++SWw/6TJZCr3fXVrKXv27MmBAwdITU0lJiaG5ORk5s6dW+6Y2NhYtm7dymWXXcb+/ftxu91ERkaSmJjIm2++SXFxMUajkW3btnH99def5VsVqtPWFstdnW7mtnOuYVXGV3yY+jlP/voyL/2+kItbj+HytpNoHxIX7GYKQq2766676N+/P//+978BWL58Of/85z95++23g9uwIDLIBlraWlLgLeB48XHMshmDUrO6EpLLRfiWb7GvXU/oN9uRfT5cCXGk33wduWNG4G3TPC/6AJhkE+fZe3CevQe3chVu1cNP+b+yrWRa+4epy/nvoaXIyHQL78gAR28GOHpxnr0HIQZbsJsvNHKyLGMwGFi7di1XX30111xzDZMnTw52s06bIisYjDYKPUWouoqu68iSjI6OhIQkSSgoyJKMLFde/Fc4DbqO4VgW5sNHMUVFYjQa8EU60GtptqwgNFeVVlO/5pprKn9QDddSbtiwgaeffhpVVZkyZQozZ85k3rx59OjRg1GjRrFv3z4efvhhioqKkCSJe++9l8TERAA+++wzFixYgCRJDB06tNpReVFNvfbpus6u/F/5KHU5qzM24tW9XBB5Hle0ncTQloNQpJp/wD36jRejovBwXw0UpUEWZGrKRDX1qk2cOJEVK1aUu23SpEksX748SC2qWF1UU68Jt8/NseJjaGiVT1v3qYTu+AH7mvWEb9iCUlyMt0UUuaOHk3vRSFydOjT53/tHv/FhNBp4uN+ZP4dLdbMrb48/nOf8yK68X/HpPhRJpltYJwY6ejMgsjd9I7qf9YylpkRUU6+ZadOmcd111/H666/z2muvERcXV2H/F0w16eekoiIii4vJ8XrRdA1N11A1FQ0Nn+bDq3nxql68mhdVV099vCRhwCDCegXkQifm1DTMh9IwlfxtTj2MOTUN2eU+5XjVZsPniMAX6cBnt+OLtJf52uH/3mHH53CghYY0+c+BuiSqqTdN1W5t1liIMF63jntyWXp4JR+nrSDDnUVrSwzT2iZxaeuxlW/fo2lIHg+yqnL/DgOKycST/VUkjxd0DZBA10GS0GUZFCXwt1C7RBiv2r/+9S969erF+PHjAVi1ahU//fQT999/f5BbVl6wwjj49yTPdedS4CnAolj8J7C6jnXPXuxrvyRi3QaM2TmooSHkDUsk96KROPv0bFa/z3WxhWOx6uLHvD1sy/avOf8p/1d8uopBUuge3pn+jl4MdPSmt707NsVSa6/b2IgwXjP79u1j8eLF9OnTh4kTJ5KamsrKlSuZMWNGsJsWcLphvDq6rqPqqj+w62ogrJf+rWoqOiWnwjpIsv/3t3RkXZGa3gCC5PViOnIUU2nQPpSGOTUNU+phjNk5geN0WcYTG4Mnri3u+La449rwWl4rzLrKDS3zMOTkYMjJxZBd8nfJ10pePlIF8UIzGv3B3eFAddjxRtpRA6HdEbjP57Dji4gAQ/P5/KgJEcabJhHGhdPi01S+ytrK4tTlfJfzAybZyNiYYVzRdhI9I7qC6g/bkqaCLKOGh6HZrDyUUojBaOCxsXb/E6kqkqqB6kNS/aFd8niRPR7w+QCQkNAlHV1SQJHRZf/fTe1DsT6IMF61vn37UlxcjFISHFVVDWxx1pC2/QlmGC/l9Dop+H0XLVM2EZWyCXPaYTSjkYILB5J70UgKzh+Ibm6efWxdhPGTFakufszdHSgItzv/t5JwbqBneBcGRPq3UusTcS4WpflMHxVhvOmo7TBeHV3XA0G9NLSXjqp7NS8+3Yema/7p70j+qfCShIyMLMkYJEPDPC/RdQxZxwNB25x6uCR8p2E6mu4/ByvhddjxxLXBHR+HO64N7vi2eOLa4mkTi24svzypRv2cqmLIy/cH85xcjDm5KIHQnoMhJ69cgJcr+HfUJQk1ItwfzE8edXfYT/yJdOBzOJrF544I402TKK0snBaDrDA6OpHR0YnsLzzIR2nL+fxoCsuPptAjtCNXtk5iTPvxGMMi0E2mMh9QheWfSFHQFQUwllyPLlOoSNfB50PSNCSfCj4fstvjD+zFbiQouYotARK6IvufS5b9fwThNIntfqonZ2VhWb2ayJUrMf7yC7okkd+3B8eu/gt5wxLRwkKD3cRmwaZYuCCqHxdE+efCF/mK2Zm3m23ZP/Jdzo8sPLCYBX9+gFEy0jOiS2DNee+IczErTf9kVajYnXfeybx585g0aVKF9ze0JTn1SZIkFElBocwo7EnlMVTtxMh66VR4j+rBo3pwaa5APaVAWEfyT4EvGVmvyyJzstMZmEpedlq5KTUNpdgVOE4zm3HHtaG4c0fyRg0PjHS749rWfv+tKIHR7mrpOnKhsySY52DIzj3xdU5uyfc5WPf+hiE7F6WoqMKnUW22clPiy33tKAnyJV+L6fJCQyJGxoUz41ORPW7QdQokD5/nfc3iQ5/zZ8EB7GY7kztMZmqnqbQObQ3Awyuyyo+MnyldD4yqS6rqH1l3e5C8XmS3xz/9Xaekk9VLRtPF9HcxMt401PfIuFRYiPnLL7GsXInpu++QNA1v1664xo+n+KKLyLVbyHZlY1bMGOSaFXdryupjZLw6hT4nO3N3B9ac78nfh4aGSTbSO6Ib/R29GeDoTa+ILpjkpvNZKEbGq5aZmUl0dDSHDx+u8P42bdrUc4sqV98j47Wh7Lp1lZKp8Kp/3bpP952ybv10i8xJXi/Go+n+oF1mSrn5UNqp08pbxeApDdrxbXHHtcUT1wZvyxa1MmAR7H5OcrsrnBofCO65J76vyXT5ctPjI0umzzvsqKWj7hHhDeb8UYyMN02VhvFNmzbhdDoZN25cudtXrVpFWFgYgwcPrpcG1pQI4/XA5/NPI9d1dJMJNSwU3WpFN/lPwnVdZ1vGNj7+7WO+SvsKgCFthnB558s5mnkuNlsIYzvVcYdWOpquqUg+FcnrLQnrHiSvDyQJSQddAl3yj6TrStOf/i7CeNNQL2Hc68W8ZQuWlSsxb9yI5Hbja9sW17hxuMaNQz2n/EmAy+fiWPExAMzNeM0ywNL9KlaLhfFtGkZAACjwOdmR8xPbcvxbqf1asB8dHbNsonfEuf6t1CJ70zO8C8ZGfEFFhPGaSU1NJTo6GnNJBWyXy0VWVhZt27YNcstOaIxhvDql69ZPLjJXOsLurwivYTqeiyX1MJbUI1hTj2BNO4Ll0BFM6eWnlfvsEbjLrOP2lEwv97SJ9c9KrEMNsZ+rlE/FkFcyJT4398So+8lr3Evuk0uWSZYVmC5fdnp84GvHieJ1JaPudTldXoTxpqnSMH7FFVfw6quvBvb6LpWdnc3MmTP56KOP6qWBNSXCeN2QvF5/kNVBM5lQI8LQzZZAAK9MujOdT3//lKX7lpLjziEhLIER7UdgwUKEKYIIcwThpnAizBGB70OMIch1uV9oYFRdDUx/lzwe5JL16hL+D8zSUF469T0wBb4RE2G8aaizMK5pGHfuxLJyJZaUFOT8fDS7HddFF+EaPx5vr15VXqxSNZVsdzZOrxOrYm3W+/7aIyLK7TPe0OR7C/g+9+dAQbi9hX+go2ORzfSxnxsoCNc9vAtGufGsZBNhvGYuu+wyFi9ejKkksHk8Hq688ko+/fTTILfshKYYxsuSCgtRDh3CcPAgyoEDGA4dQjlwAOXQIeTi4sBxmtmMu21rXPGtKW7TmuL41rjatsYd1wZfWEi5kfX6LjLX0Pu5M6LryAWFJ0J7ILCXny5f+rVS5t+qLDXEVqOp8r5IB1qI7bT+3UQYb5oq/aT1eDynBHGAyMhIiipZryE0DZLHg+TzIQGa2YSvRQs0ixmMNR81aRXSitv73M4tPW8h5VAKS35fwpI9Syj0Flb6GFmS/QHdFEG4ueTv0sBeGt5LgnvZ70NNoTUL8ZIEBgO6wYBepq5RYPJYaUjXVP/793gDYR1Nxb9GHQLT3wOj6g1j+pJwdrZv387BgweZMmUK2dnZOJ1O4uLigt2sOmX47Td/AF+9GiU9Hc1qxT18OK4JE/AMHFjj33lFVmhhaYFF8U9bN0gGjGJ9coMUbgxjRMsLGNHyAgDyvPl8n/NzSUG4H5m//x0ALLKZ8+w9AgXhzg3r1KjCuVAxVVUDQRzAZDLhbYSBtsHzelEOH0Y5eNAfug8e9IfugwdRsrICh+mShNq6NWpCAt7zzsOXkICakIAvIQEtOjowEKAAVk3FXKbQXNkic6Xr1kvXqwPliszV9br1JkGS0MLD8ISH4Ymv/rNfcrnKhPTS9e4lxelKQrv5YCohP/yEIS+/wufQTMYTW8CdUpTuxNeqw+6fLi80SZV+sjqdTnw+HwZD+UO8Xi9u96n7DAqNmK6XjID7R4dVqxXVHoFmtYDh7E6+TIqJCe0n8PXugcRHGHhoTAgFngLy3Hn+P5488j35ge/zPfn+29z5ZLmy+CPvD/I9+TUK8aV/7GZ7IMSXHX0vDfil358S4gNF5eCU6SIVTX/3lMwaKPl9kHQdXSotKqc0i+nvTcX8+fP5+eef+fPPP5kyZQper5d7772XxYsXB7tptU4+cgTLqlVYVq3CuG8fusGA5/zzKfzb33ANHw7WM9u7WpIkwkxhmBUzWcVZuHzFWBRLs/r/719LmRvUNeOnK8IYzsjoCxkZfSEAOZ48tufsYnvOLr7L+ZF5+94CwKZY6WvvzgBHbwY6etM1rCMGsT9zoxMZGcm6desYNWoUACkpKTgcNSiyJZxK15GzsvxBu2RkuzR4K4cP++valNDsdnzt2uG58EJ87dqhxsf7g3fbtmCu2a4HiuwvMmcsrS5XgyJzXtWLR/Xg1tynVoQvs25dkWse1htjP1cXdIsFb2wrvLGtqj/Yp/pH3E9e417me+PxbKz7/kDJqWS6vCzjiwgn5/EHUadWPTIuNC6VJq0xY8bwyCOP8Mgjj2Cz2QB/QH/qqacYM2ZMvTVQqCO67g+TPi9IoNlCUCMd/hHwOhzpNcpGIi2RRFpOnXVRFa/mpdBTSK47NxDe8z35p3yf587juOs4f+b/SZ47r8oQLyGdEtpPnjpfdjS+NMyHhYQhSydVfy+d/q5q4D0xoi65PEiaVhLSSw5vQtPfm4q1a9eybNkyLr30UgBiYmJwOp1BblXtkXJzsaSkYPniC0w//ACAp3dv8h94ANeYMei1eDJuUky0CmlFriuXPG8eFtmCIkZUGw2HKYIxMUMYEzMEgOOeXL7P2RUoCPfSvoUAhCo2znP0KJnW3ocuYef4p8oKDdrjjz/OPffcw5w5c5AkiVatWvHss88Gu1kNmuR0nhjZLg3dpdPKy8wU1c1mfPHx+Dp3xjV6NGqZ0K1HRNR5O08J6ycpW2Tu5LDu1bzlisyVrQhf0yJzQhUMCr4WUfhaRFV/rK6jFBScmA6fk4uxpMq8lJuDL7YVzfsySNNT6RnSP/7xD1566f/bu/P4qMp78eOfs8w+mWSyMIkQoiy2CtQVL1xALkFcAhTZ6m3rrXV5Ya1cl6sWtb3Y0ioVl8KtrdbrFavUWhesxbhQSXtRiwuWSrn609KCoEJCQvZktnOe3x9DBgIJCSGZSTLfd18UZuacOc8cM0/O93yf5/muZNq0aQwdOhSlFHv27GHBggVcf/31qWyj6C1KJYegA9h+P5Y/F9vl7PdDrR26g6A7SNB9bEFD3I4nMvHR+g6z78lgPlpPbbiWnQ07ux3EdzmU3plNwB8g2/STY/rx625M68BNkGgsUVcz3raonDqwqJzUVE8Hh8OBpiWyBMAxTcXZuHEjd955J7Zts3DhQhYtWtTu9bVr17JixQpCoRAAl156KQsXLgTg888/53vf+x579uxB0zQefvjh3ltIqbUV18aNeF56CeemTWjxOPERI2i89lrCF16I3YerJ+uaTq4nF4/Dw76WfcRUDLfRs4y7SK88Zw7nh87l/NC5ANREag8sBpdYEG5j9TsAZJk+zswZl1gQLngaX8ga0bdrgLSxbfRwGGXb2AUyT7Irw4cP5+mnn07ebPT5fF3skSFiMYzPP28/rLwty33YsHK7qIh4SQmx009vP6w8FOrXN9jbSq2ZndwcPdoiczE7RjQexcbGViaW0miNR9I6b33Q0jSsQAArECBSMrzdS8k542lqmugbnQbjpmly8803s3jxYj755BMASkpKcLsze7XcAce2E1lay0rMTfL7sP0+lMvVr39p9BZTN3sliD88+94WzNdH66mL1LGrcRf10Xoao42dvqdGYhhvu6H0zgABRxY5jiyyzSyydS85mo8czU0OHnIMP36HF0MzOTj8/UCZNvml12suuugili5dSkNDA08//TTPPfccX/nKV7rcz7Isli1bxurVqwmFQixYsIDS0lJGjRrVbruysjKWLl16xP5LlizhW9/6FpMmTaK5uRm9F76Tjvfew3j8cQo2bEBvacEaMoSWr36VcFkZ8ZNPTunPjcf0cIL/BKpbq2mNteA23TJvcYDLcwW5sPBfuLDwXwCoitSw+UDWfHPtVv63+i0AAqafs4LjknXOR/tP6t3g3LLQI2FAS5Qi8nkwc7PB7nLPjFZdXc39999PVVUVjzzyCNu3b2fLli3JG4SDWtuw8kMy221/G599lkxUwIFh5SUlRCdOPDis/MQTj2lY+UCjaRqmZnYZrDv1/ZiGSb4nq8N568ntUck56zJvXYjOdRqMr1+/vt1jTdNobGzki1/8In6/v88bJo7D4QF4lp+435cod5EBAXhv6GkQb9kWDdGGTrPvDZGDwXx9tL5bQTxA1oGAPWBmkWP6yNZ95Jh+AmYW2aY/Eci3G2qfQ8Dhl2Gj3XTllVfy5ptv4vP52LFjB9ddd123yjdu3bqVkpKS5EJvM2fOZMOGDUcE4x3Zvn078Xg8eZxeyVApRfDb30YPh2m94ILESuhnnpnW772pm4S8IRpjjdS01uDSXZjGwC2hJdob4sqjrHAaZYXTANgb3sd7tX9NLgj3h32bAMh2ZHF2TiJrPj73NEb6hvcsOI8fCMINg3heLrbPl7g5qSQK745bb72VefPm8dBDDwFw4okncuONNw6qYFxrbm4/f7sty71rF/oh04+Uy0W8uJj4qFGEp0/HKik5OKw8Jyd9H6CfagvW24Jrn8N3xLz1ZK31w+attwXth9dbb3tfya6LTNZpMP6HP/zhiOfq6ur46KOPuPPOO5k4cWKfNkwcI8tKDH+2LTCMRADu9SQy4P2gY5s0wpNce2AwM3Sjx0F8Y6wxmW0/PPvePivfwCfhKhqiDTRGG1FHLjeXFDB8BEw/lwy9gBtPPO14P96gNmnSpG4F4IeqrKyksPDg4i2hUIitW7cesd369et59913Oemkk7jtttsoKipi586dBAIBFi9ezKeffsrEiRO5+eabMY5nyoimse/VV8lVisZ+8L1vo2mJqR0u3cW+1n2ErdZBOWx98gkaXrcLiKa7KWlT6C5gZlEpM4tKAdgTrkqWUXun9n027HsTgKAjm7ODX0oOax/hG56cJtIRLRZDj0ZRpkm8ID9REkhuLh+z2tpaysrKePjhh4HEKMiuRuR0NRVn9erVPPPMMxiGQW5uLnfddRdDD0yD6bOpOLEYfPIJzu3bk3O5k6uV79uX3Cw5rHz4cGKzZrUfVl5YKD9DPTC9uPPrOV3T0Q2903nrbdn15EJzym6fXbfC2By20JysCi8GuU6D8eXLl3f4/GeffcYNN9zAM88802eNEt1kWeiRKKASAXh2FrbXk8iA96MLcYCLTvURDAapra1Nd1P6JUM3yHHlkOPKOab9LNuiKdbUQfBeR31rHQ3RehrC9eQXlMhFx1GcccYZRwQCWVlZjB07lltvvfW4SpxNmzaNWbNm4XQ6eeqpp1iyZAmPP/448XiczZs389vf/paioiJuvPFG1q5de9QMlWEY5OV1sQCMz4f52WcEe7gqel8rsAvYH95PQ6QBj+kZVKM3vn4aGKaBFT8y+5OpcrKzOSU0mm+wAIDdzZ/z1r4/s6n6z2za92d+X/U6APmuIBMKzmRi/plMLDiLkVklie9kNIoWjaK8Xuy8XJTX0+HvN1vZ2NjkBbuxQFIG83q91NbWJvu7v/zlL2RlZXW6fXem4pxyyik899xzeDwennzySe655x5WrlwJ9M1UHK25mYIpUzCqq5NzZ+3s7MSw8gkT2gXc1rBhINMre9WC0T2/nmvLrrfTzVXhu5NdN7REhr2/XQMLcTTHvMTt0KFDiXew5L5IkbiFHo2AUiiHiRXMxvZ4UE5Hv+58InGbcEyGEfY2QzeSi8cdjcPn6KBem2hz2WWXUVhYyKxZswAoLy9n165djBkzhttvv50nnniiw/1CoRB79+5NPq6srEwu1Nbm0LJBCxcu5J577gGgsLCQU045JRnoT58+nffff/+o7bQsi5qamqN/mHCYPMvq1ze+TExcMRdVDVUYmoHTGBxzMMNxRU52NuHmjmvKCsjCx4zgFGYEp6BGKT5r3Ztcqf2dfe/z4qcbAMh3BBkfGMP4/DM4s2QSxb5RaNEIRDsurWorG1/A1+X3o6gosxd5u/XWW7nmmmvYtWsX//qv/0ptbS2rVq3qdPvuTMWZMGFC8t+nn346v/vd74A+mooDKK+XphtuwKcUDcOGybDyFAvHbVr78Hquq1XhD8+uH7HQnBVNjhiU7LoYCI45GP/HP/6B0ynr+KVUPI4ejSYCcKeTeG4Q1RaADxA/fGU/pqOB71+Qk+6mCHGEioqK5AUkwCWXXMKcOXO45ZZbknMrOzJu3Dh27tzJ7t27CYVClJeXc99997XbpqqqiiFDhiSPM3LkyOS+DQ0N7N+/n9zcXN5++23Gjh3bB5+uf/I5fDh1J/ta99ESb8ZrePv1DcXu+ME7FqZRn/H1d7tL0zSGeYsY5i1i7tALULbNp3Wf8G7d+7zT8v94p+6vvFzzBnz0Uwo8BZwdOpuzQ2dzVugsiv3FRx3WLo5kWRbvvvsua9asYceOHSilOOmkk3A4Or+W6O5UnDbPPvss556bWHm/T6biAGgarf/6r3haW4nFYsf3XuKY3bhxP6bZwE/PzUnL8TvMrh/maDXXo3YUW9kopZJ9yKE116WMm0i1Tn+av/Wtbx3xXH19Pfv27WPFihV92iiRmB+nxaJoCmynk3h+LsrlHlABuBADhcfj4aWXXuLCCy8E4JVXXsF1YMXco13wm6bJ0qVLueqqq7Asi/nz5zN69GhWrVrF2LFjmT59Ok888QQVFRUYhkF2dnZyCpBhGCxZsoTLLrsMgDFjxgyqRZS6w2E4KPIVURepoy5Sh8twYerSx2Uc20aPRNBsm2EFIzlh5Bl82elAKcWuxl1srtzM5srNvLP3HV7e+TIAIW8oGZiPD42n0FvYxUGEYRi8+OKLfPOb32T06NG9/v4vvPAC27ZtY82aNQA9morT1s4up+O43ZiVlQRlQeGUM806NE1rN+proLGVjW3bWCRKuVm2RdSOErfiyb/brcejcTCzrieGw2tpqPYdizjRDb3r74cYUDoNxq+44op2jzVNIycnh5KSEsmM95G2GuAaYLucxPPzsd0uOMpdayHE8bv33nu58847+cEPfoCmaZx++uncc889hMNh/vM///Oo+06dOpWpU6e2e+76669P/vumm27ipptu6nDfSZMmsW7duuP/AAOYpmkE3UE8pod9rfuwLAuXIXM8M4Jto4dbAQ0rO4CV5W/3+07TNEoCJZQESpg/ej5KKXY27EwG55v2bKJ8RzkAhd5ClkxawiUnXZKmDzMwnHnmmSxbtoyysjI8h6wrMWbMmA63785UHIA//elPPPTQQ6xZsyZ5jdiTqTjQvek4WksLufF4v56OM1jF43FM0xx0515Hx3ngf0qpRMB+ILveNhw+bIUTQ+JVPFnGLTkUPgXZ9bY64zIdZ3DpNBg/55xzOnx+8+bNlJeXc8cdd/RZozKGUgcy4DE0wPJ4sHKysT1uMI95BoEQooeKi4s7HY5+9tlnp7g1mcltuinyFbE/XEtrvAW3ITXJB622tU80jXhuLrb/QHmyLmiaxknZJ3FS9kksPHkhSil2NOzg3b3v8ueqP/duHfNB6sMPPwRoN09c0zQef/zxDrfvzlScDz74gKVLl/LII4+0y9hl+lQcMXBpmoahHX3uejJYtw8ZCn/o3PV4FJvE3HpNaWh6IpMuZdzE4boV8X3wwQesW7eOV199laFDh3L++ef3dbsGL6USJcjiMdDA9vqwcoOJDPjxzqMSQvRIJBLh2Wef5W9/+xuRyMEFojqrKiH6hqmbFHjyaYo1sT+8H1MzcRgyEmvQiMfRIxEwTeL5ecddnkzTNEZkj2BE9ggWnrwQX8AHsk7oUa1atYrc3Nxub9+dqTgrVqygpaUlOSKoqKiIhx56SKbiiEGtrd66qXccSnVZxs0OpyW7LvqfToPxHTt2UF5ezosvvkgwGKSsrAylVKerCoujUCoxBN2yQClsvx/Ln4vtcmZMAF56shevb/DXGRcD0y233MKIESN44403uPbaa1m3bh0jRoxId7MykqZpZDmzcBkuqluraY234DE6LmfV30wv1vF63EDHK35nKi0aRY9FsZ0u4qEh2J2UJxN9p6Kigttvvz1ZV3zlypWceeaZ3dq3q6k4jz32WKf7ylScwWfmSV58ndQZFwd1p4xbh9n1AwvNxVUcK97+d4myon3capEOnQbjF110EWeffTa/+MUvKCkpAY7e4YrD2HbiAsSyUJqG5fdh+30olysj6z2XnuyVOuOi39q1axf/9V//xYYNG5g7dy6zZs3i61//erqbldGchpNCXyF14TrqY/W4dTdGJxmI/uK8Yp2cbDd19RKMA2iRKFo8hnK7iOYXotxuCcLT5Cc/+Qm/+tWvGDlyJO+//z733HNPcqE1IY7FrJPkeq63HHN2PRYl4AwQTnE7Rd/q9MrmgQceoLy8nG984xtMmTKFmTNnJodTiE7YNlokim5bKF3H8vuI+30opzMjA/BDNYQttBapTy/6J/PAGg2BQICPP/6Y/PyuF0gRfU/XdHI9uXgcHva17COmYrgNT9c7pkl9REE4w8dJK4UWiaBZFrbXSzyUn7gJLdLKNM1kWcXTTjuN5ubmNLdIDFR1EQvVGk/DWuKZ54jsujLxuXwSjA8ynQbj5513Hueddx4tLS1s2LCBX/7yl+zfv5877riDGTNmMHny5FS2s/+yrMQccNsCw8AK+Il7PYmLD8kAJK14rRbT0Sh1xkW/dMkll1BfX88NN9zANddc027+o0g/j+nhBP8JiWHrsRbcZv9c3O3H71mYRkNm1hlXCr01jKZs4ll+7EAA5ZL5/v1FTU0Nq1ev7vTx5Zdfno5miQHotjdrMc3GtNUZF2Kw6XLMn9frZfbs2cyePZv6+npeeeUV/vu//zuzg/G4hR6NAioRgGdnYXs9iQy4BOBCDCi2bePz+cjOzmb8+PFs2LAh3U0SHTB1k5A3RGOskZrWGly6C9OQso9pZ9vo4TCgsLKzjyhPJvqHr3zlK+2y4Yc/FkIIkR7HNAEvOzubSy65hEsuycA6nm2lWJRCOUysYDa2x4NyOiQAF2IA03WdRx55hLKysnQ3RXRB0zQCzgAu3cW+1n2ErdZ+PWx9ULOsxMromoYVzMHy+6QkZz+2ePHidDdBCCFEBzLvN6c68H/dCaDj8QMBOCink3huENUWgAshBo1//ud/5n/+538oKyvD4zkY3OXk5KSvUaJTLtNFka+I2kgtTbEm3LpbSsCkSlt5MsMgnp+L7fVmTFUQIYQQordlVDBuaAYBdxaftBwY4qgfGVRrsRhaLIqmwHY5iefnoVxuCcCFGMReeuklAH71q18ln9M0TYas92OGbpDvycdtuKkJ12AoA6chC4X1FS0WQ49GsR0m8SEFifJkGb4wqRBCCHG8MioY1zSNPE8eERxUt1YTt+K4DU+iBng8sTJkIgDPx3a7ZN5bL7rwFB8+vw/I8JWGRb9UUVGR7iaIHvI7/biMxLD1dNckLyvR8Xo9MIjWuk2WJ3O5iBWGsD1SnkyITDZvlA+fT67nhOgtGRWMt/EYbk5w5NPQVE1DvAqnLwcttwDb5ZQ5b31k8kgPwWC21KUU/VJrayurV69mz549/PCHP2Tnzp3s2LGDadOmpbtpohschoNCXyH1kXrqInW4jI5HPvW1KUN1crJd1NUP8GBcqcRN6lgsUZ5sSF6iRrgYsA5dOb0jspq66K4Zw+V6TojelJGRp9bSgu7zkVNwKg7Tpipcg0LhkUC8z1Q3WcSMGDLWQPRHt912G2PGjGHLli0AhEIhrr/+egnGBxBd0wm6g7hNd7uRT6m0r1URMS0G7GB5pdDCEXTbSpQnCw2R8mSDRNvK6Tt27OCvf/0rpaWlAPzhD39g3Lhx6WyaGGAqWyzCjhhye06I3pFZ0adhQHExVk5OcsEZL1Ds8LI/vJ/6SD1u042pZ9ZpSYWVf5Q646L/2rVrFytXrqS8vBwAj8eDUirNrRI94TE9FPmK2N+6n5ZYMx7Tk7Ka5PdvsTCNxoFXZ/xAeTJNKeKBLOKBgKyTMsi0rab+9a9/nbVr1+L3+5PPX3311elsmhhgvv+W1BkXojdlVtSpaeDxQEtLu6cN3aDAW4DP4aOyuZKYHcNjSrkcITKF0+kkHA6jHZgLu2vXLpxOyQgOVKZuUuAtoCnWRE24BofmwGHIf88jWBZ6JAxIebJMUV1d3a5vczqdVFdXp7FFQgiR2eS37iG8Di/FgWJqwjU0RholSy5Ehli8eDFXXXUVe/bs4aabbmLLli0sX7483c0Sx0HTNLKcWbgMF9Wt1Wlf3K1fiR8Iwg2DeF4uts8n5ckyxMUXX8yCBQuYMWMGAK+99hrz5s1Lc6uEECJzSaR5GFM3CXlD+E0/VS1VkiUXIgNMnjyZMWPG8P7776OU4rvf/S65ubnpbpboBU7DSaGvkLpwHfWxety6GyNDb7K2lSdTpkm8IB/b55XyZBlEKcXFF1/Mueeey+bNmwFYvnw5p556appbJoQQmSszr0i6wef0UWweyJJHG/EYHgxdMgdCDEbf+ta3mDVrFqWlpXi93nQ3R/QyXdPJ9eQeXNxNxXEZmbP8kBaNosdi2E6nlCfLYJqmsWjRItatW8eYMWPS3RwhhBBIMH5UbVlyn+mjqqUKzdYkS95Dc8b5DywYE093U4Q4whVXXMFLL73Efffdx7hx4ygrK2PatGm4XAN2XWzRAa/DywnGCYlh67GWRH/ei0Hp3BE6Pl//qTOuRSJo8TjK7SZakIdyuSQIz3CnnnoqW7du5Utf+lK6myIGqK99Qa7nhOhNEox3g9/px2262deyj6ZYk2TJe2B8iZtgMEvqUop+6ZxzzuGcc87Bsizeeustnn76aW6//Xb+/Oc/p7tpope13WRtiDawP7wfl+7CNHpn5fBzCvtBnXGlEkG4ZWH7fMRDBYkgXAjg/fffZ926dZxwwgl4PAeTC+vWrUtjq8RAMmWoXM8J0ZskGO8mUzcp8hfRFG2SLHkPfFYXp1FFyJKkjOinwuEwFRUVvPzyy/zf//0fc+fO7dZ+Gzdu5M4778S2bRYuXMiiRYvavb527VpWrFhBKBQC4NJLL2XhwoXJ15uamigrK+O8885j6dKlvfeBRKc0TSPblY3bcLOvdR9hq7VXapJ/2qRoIE6gF9p4zGwbPRJJlCfL8mNLeTLRgf/5n/9JdxPEAPdJQ5xaLUIw3Q0RYpDo02C8q4vUzz//nCVLltDY2IhlWdx8881MnTq13eszZ85k8eLFXHnllX3Z1G6TLHnPPPhGHaajSeqMi37p+uuv569//SuTJ0/m61//Oueccw56Nxa2siyLZcuWsXr1akKhEAsWLKC0tJRRo0a1266srKzTQHvlypWMHz++Vz6HODYu05WoSR7ZT3OsGbfuRj+O/vxnWy1Moym1dcZtGz3cCmhY2QGsLD84JAgXHRs6dCgANTU1RCKRNLdGDEQ/3lyHaTZJnXEhekmfBePduUh98MEHueiii/ja177G9u3bWbRoERUVFcnXf/zjHzNlypS+amKPmbpJoa8wkSVvrUK3dcmSCzGALViwgPvvvx/jQHmnzZs3U15ezh133HHU/bZu3UpJSQnFxcUAzJw5kw0bNhwRjHdm27Zt1NTUMGXKFLZt23Z8H0L0iKEbFHgK8BgeasI1GMrAaQyAYd1xCz0aAU0jnpuL7ZfyZKJrGzZs4O6776aqqorc3Fw+//xzRo4cSXl5ebqbJoQQGanPapocepHqdDqTF6mH0jSNpqYmABobGxkyZEjytddee42hQ4cyevTovmricdE0jSxXFsMDw3EbbpqiTdjKTnezhBA9MGXKFD766CNWrFhBaWkpq1atYsSIEV3uV1lZSWFhYfJxKBSisrLyiO3Wr1/P7Nmzue6669izZw8Atm1z9913s2TJkt77IKLH/E4/J/hOQNd0WuMtoFS6m9SxeBy9uRndihPPzyM6fBh2dkACcdEtq1at4je/+Q0nnngiFRUVPPbYY5x22mnpbpYQQmSsPsuMd3SRunXr1nbbtA0/X7NmDa2traxevRqA5uZm/vu//5tHH32URx99tK+a2CscuqNdltzQDNxm5pTMEWIg27FjB+Xl5bz44osEg0HKyspQSvHEE0/02jGmTZvGrFmzcDqdPPXUUyxZsoTHH3+cJ598knPPPbddP9kVwzDIy8s7+kbhMGY4TNDvP86WZ6Z8lU9duI7a1lrcDjem1v1fk6ZRh6Zp5GRn937DolG0SAQVCGDnBlE+r6yMfghb2djY5AW7+H5kONM0CQaD2LaNbdtMmDCBu+66K93NEkKIjJXWBdzKy8uZO3cuV1xxBVu2bOE73/kOL774Ig888ACXXXYZPp+v2+/VrYtUEr+IurPdsconn6HWUCqbKmmON+Nz+NC1Pht4MOCYjsRFajAoS36kQ9gKk5edJz+Th7nooos4++yz+cUvfkFJSQkAjz32WLf3D4VC7N27N/m4srIyuVBbm0N/5hcuXMg999wDwJYtW3jvvff49a9/TXNzM7FYDK/Xy80339zp8SzLoqam5uiNCofJsyxZ6fY4aGh4LA/7GveBRrcXd4tbFqZhUFdf33ttiUTR4jGU20U8mINyuyEWhbporx1jMLCVjS/g6/L7UVRUlKIW9U+BQIDm5mbGjx/PzTffTG5uLl6vN93NEkKIjNVnwXh3LlKfffZZHnnkEQDOOOMMIpEItbW1vP/++7z66qvce++9NDQ0oOs6LpeLSy+9tNPjdesiFcjLy+vWdj3lVm5i0Rif1X2GqZmSJT9g7lgPfr9fAoQ0cfgc1NTUdBmMZ9qF6gMPPEB5eTnf+MY3mDJlCjNnzkQdw/DkcePGsXPnTnbv3k0oFKK8vJz77ruv3TZVVVXJKTgVFRWMHDkSoN12a9euZdu2bUcNxEVqeUwPJ/hPYH/rflpizXhMD1oX359LRuv4fV6g9fgOfmh5Mq+XeChfypOJXvHzn/8ct9vNbbfdxrp162hsbOTaa69Nd7PEAHL5qVn4s/xALN1NEWJQ6LNgvDsXqUVFRWzatIl58+bx97//nUgkQm5uLk8++WRym5/+9Kd4vd6jBuL9iaZpBFyBxIrrrftojjbjcXgyPiN52lAXwaAE46J/Oe+88zjvvPNoaWlhw4YN/PKXv2T//v3ccccdzJgxg8mTJx91f9M0Wbp0KVdddRWWZTF//nxGjx7NqlWrGDt2LNOnT+eJJ56goqICwzDIzs5m+fLlKfp04niZukmBt4CmWBM14RocmgOH4ex0+9MLdHKyndTV9zAYVwq9NYym7IPlyVydH0+I7vrkk0+orq7mrLPOAkDXdebOncvmzZtpbGyUUWui284plOs5IXqTpo4lDXSM/vd//5e77roreZF6zTXXtLtI3b59O9/73vdoaWlB0zRuueWWIy5+24LxrkqbRaPRfpEZP5RSioZoA9Wt1Zi6iWsgrNDbR3bUxMjKyiLfGU53UzKSw+cgqIKSGe+G+vp6XnnlFV566SV++ctfprs57XSrnwuHyWtupjYmWYveFLWi7GvdR9yO4zE8Hc7X/ke9Isvvp8BoPrY3t230cBhQWNnZUp6sB9qGqWfbR5+vn6l93NVXX81//Md/8IUvfKHd8x999BE/+clPeOihh9LUsiN1p5/TWlrIbW2Vfi4NPq6NkRXIosiQ67mUi8UI5udT4zn61KlM7ecGqj4NxlOpPwbjbaJWlKqWKiLxSMZmyb/3YjWmw5Q642kiwfjgIMF4etnKpjZcS2O0EbdxZE3y2/4UxzSM7tcZtyz0SKI8mZWTjeX3gZnWpVwGLAnGj27+/Pk899xzHb42e/Zs1q1bl+IWdU6C8f7tmopqTNOUOuPpIMH4oCS/9VPAaTgZ6h9KfbSe6tZqHLojo7PkQggxEOmaTp4nD4/pobq1Gk1puIwerAsSt9AjYTAM4vm52F6vlCYTfaqxsbHT18JhyXAKIUS6ZF6KNk00TSPHlUNxVjG6ptMUk7rkQggxEHkdXk7wn4BDd9ASb+52TXItFsNobkaz48SHFBAtHoqdlSWBuOhzY8eO5emnnz7i+WeeeYYxY8akoUVCCCFAMuMp5zJcDPMPS2bJnboT51EWBBJCCNH/mLpJyBuiIdpAbbj2QD/e8fB0LRJFj8Ww3S5ihSFsj1tqhIuUuv3221m8eDHr1q1LBt/btm0jFovxwAMPpLl1QgiRuSQYT4O2LLnH9FDVUkVTrAmf6UOTizMhhBgwNE0j25WNy3BR3VqNrTTgYJZbi0TQ4nFsj4fokLxEjXAh0iA/P5+nnnqKt956i7/97W8ATJ06lYkTJ6a5ZUIIkdkkGE+jtix5XaSO6tZqXIZr0GbJLx0fICsrC4ikuylCCNGr3KabIl8Rl59ajeHQiTbuR9kWlt9HPC8bnC40TaHFw2iaho4OGujoiccZuKinSI8JEyYwYcKEdDdDDGDXfEmu54ToTRKMp5mmaQTdQbwOL1UtVTTHmvGa3kGXJf9iyEkw6KW2VjpvIcTgY9iKqTl+vFleauwc4gE/OJzYysZWNpaysJSFUoq4imPbNhYWyko8BlAotEOGumtoKFS7x5qmoZEI4DU0CeqFECn1pXy5nhOiN0kw3k+4DFdixfVIYi6523DjMAZPndn/Vxklq6WFod50t0QIIXqJUhCJoFkWyjT5i+0n4A5REoBjHeOklMJWNoqDfyulsLFBkQzq43YcGxvLtpJ/Hx7Ud6WjoL7d40F2M1gI0Xu2VkfJirRwkhQFEqJXSDDej+iaTtAdTMwlbx1cWfI17zZgOlqkzrgQYuCLxdCiUQDsrKzEiuhuNw8+9zccjhZWzTnpmN9S0zQM7fhXVe8oqD80uG97/fCgvu1x1Ip2WumjO5l6CeqFGNwe3NqAabZInXEheokE4/2Q23QzzD+M2nAt+8P7B12WXAghBhylIBwGywKXC3vIEFQ/rA/eW0G9rexE8H6UoL5tuH3bMPyjBfVKqWRwfnhQ3za8PhnQS1AvhBAiQ0gw3k/pmk6eJw+fw0dlS+WgypILIcSAEYuhRSKg69iBAMrvhwxYFV3X9M4qtR2TtqDexm6Xte8oqLeU1T5rr6xksH+4trn1NnYyuPfhO/4GCyGEECkkwXg/5zbdFGcVS5ZcCCFSxbYhEklkwd1u7MLCRBZclwXSjlVbUG/Q82x9W4a+w6D+kOx9njePaFO0F1svhBBC9C25shgA2rLkw7KGYSub5lgzSqmudxRCCNF90ShaczNaJIIKBLCLi7GHDUtkwyUQT5u2leIN3cChO3AaTtymG4/pwevw4nP4yHJmkeXKSndTB62NGzdywQUXMGPGDB5++OEjXl+9ejVlZWXMnj2byy67jM8++6zd601NTZx77rksW7YsVU0WQogBQTLjA4jH9FAcKGZ/635qI7W4TTcOfWBkya+cmH2gLmU43U0RQoiDbDsxDN2yUB4Pdn4+yu3uUfB9w9RhZGfnAJKdFYOHZVksW7aM1atXEwqFWLBgAaWlpYwaNSq5zSmnnMJzzz2Hx+PhySef5J577mHlypXJ11euXMn48ePT0HrR2248I5usgFzPCdFb5Fb/AKNrOvne/ESW3LZpibcMiCz5SXkORoc86W6GEEIkRCKJLHg0ip2TgzV8OPbQocc1HP3kAi+nFkl2VgwuW7dupaSkhOLiYpxOJzNnzmTDhg3ttpkwYQIeT+J3/Omnn87evXuTr23bto2amhomTZqU0naLvnFy0MGp+XI9J0RvkWB8gPKYHoZlDSPgCNAUbyJmx9LdpKN6/7MIm3c2pbsZQohMZlloLS1oTU0olwurqAirpAQVDILzWCuDH+mdXQ28+feaXmioEP1HZWUlhYWFycehUIjKyspOt3/22Wc599xzAbBtm7vvvpslS5b0eTtFaryzN8Kbn8r1nBC9RYapD2CGbpDvzcfr9FLVXEXMjuExPP1yxfVntjRiOlqlzrgQIrWUSmTBLQtMEzs3F+XzgaP3p/g89s5eHI6aHtUZF2IweOGFF9i2bRtr1qwB4Mknn+Tcc89tF8x3xTAM8vLyjr6R241ZWUnQ7z+e5ooeeGLjDjQtzBNfPjHdTck8sRhmd74fYkCRYHwQ8JpeirOK2R/eT120Do/hwdTlP60QIoPF44m54EphBwLYWVmJkmT98GalEP1ZKBRqN+y8srKSUCh0xHZ/+tOfeOihh1izZg3OAyNNtmzZwnvvvcevf/1rmpubicVieL1ebr755k6PZ1kWNTVHH2GitbSQG49TW1vbw08leioej2Oappz7dIjFCObnd/n9KCoqSlGDRG+QiG2QMHSDAm8BPqfvYJbclDk9QogMohSEw4mSZA4HdkFBYg64Kb/qhOipcePGsXPnTnbv3k0oFKK8vJz77ruv3TYffPABS5cu5ZFHHmmXtTt0u7Vr17Jt27ajBuJCCJFp5AplkDk0S14fqcdtuiVLLoQY3GIxtGhiBXM7OztRiszlkiy4EL3ANE2WLl3KVVddhWVZzJ8/n9GjR7Nq1SrGjh3L9OnTWbFiBS0tLVx//fVAIjP30EMPpbnlQgjR/0mUNggls+QOH5XNlZIlF0IMPrYNB0qS4XJhDxmSyIIbRrpbJsSgM3XqVKZOndruubbAG+Cxxx7r8j3mzZvHvHnzertpQggxoEkwPoh5HV6GB4ZTHa6mMdKY1iz5NZNzCGQHgJa0HF+IvrJx40buvPNObNtm4cKFLFq0qN3ra9euZcWKFck5lpdeeikLFy7kww8/5Pvf/z5NTU3ous4111xDWVlZOj7CwNKWBdc07EAAlZWVyIL3A0umDycnJwepvyuEGKxuPfvA9ZyS6zkheoME44OcoRuEvCH8pp+qliriKo7bcKe8HUNzTIJBF7W10nmLwcOyLJYtW8bq1asJhUIsWLCA0tJSRo0a1W67srIyli5d2u45t9vN3XffzYknnkhlZSXz589n8uTJBAKBVH6EgcG20cJhsG2U241dWIjyeHpcD7yvlATd5OX5qKmRYFwIMTiVBEyCOXI9J0RvkWA8Q/icPorNYmrCNTRGGvGYHgw9dcM53/0kjL+mkVOkGoMYRLZu3UpJSQnFxcUAzJw5kw0bNhwRjHfkpJMOlr8KhULk5uayf/9+CcYPFY2ixWKg64m54FlZvVIPvK+8/o86AvtsTivoXzcJhBCit7z+WRh/fSNnZKe7JUIMDnLFkEFM3STkDVHoKyRiRWiNt6bs2C/8tYnfbK5O2fGESIXKysp29XNDoRCVlZVHbLd+/Xpmz57Nddddx549e454fevWrcRiMYYPH96n7R0QLAutpQWtqSlRF7yoCKukBJWX168DcYBf/7mKR//0SbqbIYQQfebJj5p49H25nhOit0hmPAP5nX7cpjuRJY824jFSmyUXIpNMmzaNWbNm4XQ6eeqpp1iyZAmPP/548vWqqipuueUW7r77bvQuhl0bhtGubFCHwmHMcJig398bzU+dSASi0UQt8OJi8PvB4Uh3q46Jw+FA07Su/xuJPmGappx7IYQQA4oE4xmqLUvuM31UtVSh2ZqsuC7EMQqFQuzduzf5uLKyMrlQW5tgMJj898KFC7nnnnuSj5uamrj66qu58cYbOf3007s8nmVZ1NTUHH2jcJg8y6K2trZ7HyKd4nG0SAQA2+dDBQLg8SRWSm9oSHPjjl0sFsPhcHT930j0iby8vC7PfVFRUYpaI4QQQnRNhqlnOL/Tz/DAcNyGm6ZYE5ZtpbtJQgwY48aNY+fOnezevZtoNEp5eTmlpaXttqmqqkr+u6KigpEjRwIQjUa59tprmTNnDhdeeGFK251WSkE4jNbcjGZZ2AUFiWHohYXg9UptcCGEEEJkDMmMC0zdpNBXSFO0iarWKnRblyy5EN1gmiZLly7lqquuwrIs5s+fz+jRo1m1ahVjx45l+vTpPPHEE1RUVGAYBtnZ2SxfvhyAl19+mc2bN1NXV8fzzz8PwI9//GNOOeWUdH6kvnNoFjwrCzsrKzEkXYJvIYQQQmQoTSml0t2I3hCNRrs1NLA7w9gyWcyOUd1STUu8Bbfh7rW55NVNFtnZ2Tispl55P3FsHD4HQRVE144+GEaGcPZv3ernwmHympupjcVS06ijOZAFx7LA6UQFgyivF4zBuUZFZWOUYDCIM96c7qZkJBmmPjh0p5/TWlrIbW3tH/1chqlsSVzPuWNyPZdysRjB/HxqPEdPmEk/N7BIZly049Ad7bLkhm3gNo+/Lnm+3yAYcDAQprEKIY5TLJbIgus6diCA8vsTWfBBLpTlJC/bTU2NBONCiMEp5DUI+uV6TojeIsG4OIKmaWS5snA73FS1VNEUbcLr8HaZVT2aN/7eis+vc0ao622FEAOQbSdWRLcscLmwCwtRHs+gzYJ35LWP9+P3x5hwwsBaBV4IIbrr97ta8dXo/LMULhCiV0gwLjrl0B2c4DuBxmgjVa1VmJrZ4yz5Kx82YzoinHFBTu82UrSjlMJSFrayk38DBLUgmpK5uaIPxGJo0Wj7LLjLle5WpcXardU4HPVMmHNSupsihBB9Yu32Zkwzwj+fm5PupggxKEgwLo5K0zQCrgBu082+1n00R5vxODzHlSUXPXdokN32R0NDHfifjo7DcOA0nDh0B07diWEYDAkMoale5neJXmLbaOEw2DbK7T6YBe+iTroQQgghhDhIgnHRLU7D2S5L7tAduIzMzH71FaVUMtg+NKt9KFMzMfXECAWH4cChO9A1HUMzEn86WXDPZbpoQoJxcZyiUbRYDAwDOxhE+XzgdKa7VUIIIYQQA5IE46LbDs2SV7VUSZb8GB0tqw2goWEaJg7DgVf34tSdmLqJoRvJYFuTMlAi1SwrsRibbaO8Xuz8/EQWXH4WhRBCCCGOiwTj4pg5DSdD/UOpj9ZT3VotWXIOZrXbBdwcCLaVQtM0DM3AoTuOOastRMopdTAL7nBg5+YmsuAOWZhMCCGEEKK3SDAuekTTNHJcOXhNL5UtlTTFmvCana+4/p3zgmRn56AijSluae84lqy2R/cks9q6picz2zKCQPR78XgiC64Utt+PPWRIoiSZZMG75a6ZIwgGg6jwwOznhBCiK8snJa7nkH5OiF4hwbg4Lk7DyTD/sGSW3Kk7cRpHziENuA1yvCa1kTQ0shssu/0K5AqFhpaYt62RzGp7TE9ycbRDs9q6pssQcjEwKZUoSRaPJ7LgBQUorxdM+fVwrHI8Jrk+JzXhdLdECCH6Ro7LIOgxqZV+Tohe0adXWxs3buTOO+/Etm0WLlzIokWL2r3++eefs2TJEhobG7Esi5tvvpmpU6fy5ptvct999xGLxXA4HNxyyy1MnDixL5sqjkNbltxjehJ1yWNN+Exfu+C04uMWvD6YMDT17Wsr93VoZluy2iLjtZUkA+ysLFQgkChJJjeVeqz8gxr8/ghTh2f2tB0hxOD14o4WfJUwLZTulggxOPRZMG5ZFsuWLWP16tWEQiEWLFhAaWkpo0aNSm7z4IMPctFFF/G1r32N7du3s2jRIioqKggGgzz44IOEQiE+/vhjrrzySl5//fW+aqroJS7DxTD/MOoidVS3VuMyXMksecXHLZiOKBOG5vT6cTvLarcF27qmJ1YgN9yJcl+Gs92iaJLVFhlDKQiHwbLA5cIeMiSRBTdkvYLeUP5BDQ5HA1OHS51xIfpcPA6trYkbiG2/w7v6t/yuP27lO1owzSjTQjnpbooQg0KfBeNbt26lpKSE4uJiAGbOnMmGDRvaBeOaptHUlCi31NjYyJAhQwA49dRTk9uMHj2aSCRCNBrFKSV0+j1N0wi6g3gd3sSK67FmvKa3x+/XltVuC7YVCmUrlHYg0CaRvXYaTslqC9GZWCwxF1zXsQMBVFZWIgsuhBADkHI6oagIVV0Ntp240WgfKAdq22i2nXh84Dmt7fW2bQ8PypVCHfKcpmkHt1Oq3XZtQf2h27cL9jt7/tDHQghxQJ8F45WVlRQWFiYfh0Ihtm7d2m6bxYsXc+WVV7JmzRpaW1tZvXr1Ee/z6quvcuqpp0ogPsC4DFdixfVIYi55W5b6cN3NarsMVzKrreuHrEAu5b6E6JhtQySCFo+jPB7soqJESTJdbk4JIQY404RgENUWgB+m4yuOthfVwb8P/XOU57RDX4ODgX1bcN/258Bz2iE3BrDtgzcD2p47tC0HrmHUYc8lr23a3vvwIB8O3hA42oiAQ5+TmwE9pzr4qTr8ue5s09lz3dmnk593MbCldYWe8vJy5s6dyxVXXMGWLVv4zne+w4svvoh+4GLxb3/7G/feey+PPvpol+9lGAZ5eXldbmeaZre2E72jgAKGxYdhmpuxlY3D70j8xlGABh7dkwi0jUR5tHZ1tXXJavcW+bnPMLaNFolgBwLYfr9kwYUQos3hgWo3dBE6Hfv23bwJ0PZHO3y/Q7L+7W4KdDQ6oO1xb40OsKzEzYLm5k7fp1vn9tBtOthHdRWwdrCf1p32HE+bD7+Z3cHNbXX4+3T0voftpzq6SX74c203UrKyElM0xKDRZ8F4KBRi7969yceVlZWEQu1Xe3j22Wd55JFHADjjjDOIRCLU1taSl5fH3r17Wbx4MXfffTfDhw/v8niWZVFTU9Pldnl5ed3aTvQuQ+nohoEn5jmY1cZAszWwgRjED/xP9L7u/twXFRWloDWiTzmdMHw4VnOzZMGFEKI/OsYM9bHeDOhyn45uAhz+uJPRAcq5Cxwmdts1fUef4/DAuovXu/1cT7bpzWP1B9nZIHHMoNJnwfi4cePYuXMnu3fvJhQKUV5ezn333ddum6KiIjZt2sS8efP4+9//TiQSITc3l4aGBhYtWsRNN93EWWed1VdNFCl0/5zR5Obm0tJYl+6mCDG46Tp4vYmFjURK3T9nlPRzQoj+7zhGB9w/7wvSzwnRi/osGDdNk6VLl3LVVVdhWRbz589n9OjRrFq1irFjxzJ9+nRuvfVWvve97/HYY4+haRo//vGP0TSNNWvWsGvXLn72s5/xs5/9DIBHH31UhtkOYG6Hjsdp0JLuhgghRB+Rfk4IMdhJPydE79JUtyZl9H/RaFSGqfdjz72/D5/fx4Uje76yuug5GaY+OEg/179JP5de3fm5lz6u/5N+rn+Tfi69pJ8bfGRCoUiJDX+r5eVtleluhhBC9Bnp54QQg530c0L0LgnGhRBCCCGEEEKIFJNgXAghhBBCCCGESDEJxoUQ4jhs3LiRCy64gBkzZvDwww8f8fratWuZMGECc+bMYc6cOTzzzDPJ155//nnOP/98zj//fJ5//vlUNlsIIYQQQqRZn62mLoQQg51lWSxbtozVq1cTCoVYsGABpaWljBo1qt12ZWVlLF26tN1zdXV1PPDAAzz33HNomsa8efMoLS0lOzs7lR9BCCGEEEKkiQTjIiV+vuBkWflUDDpbt26lpKSE4uJiAGbOnMmGDRuOCMY78sYbbzBp0iRycnIAmDRpEq+//jqzZs3qyyaLPiT9nBBisJN+TojeJcPUhRCihyorKyksLEw+DoVCVFYeucrs+vXrmT17Ntdddx179uw5pn2FEEIIIcTgJJlxIYToQ9OmTWPWrFk4nU6eeuoplixZwuOPP96j9zIMg7y8vC63M02zW9uJ3ifnPn3k3AshhBhoJBgXQogeCoVC7N27N/m4srKSUCjUbptgMJj898KFC7nnnnuS+77zzjvt9j3nnHOOejzLsro1NFCGEKaPnPv06c65LyoqSlFrhBBCiK7JMHUhhOihcePGsXPnTnbv3k00GqW8vJzS0tJ221RVVSX/XVFRwciRIwGYPHkyb7zxBvX19dTX1/PGG28wefLklLZfCCGEEEKkj2TGhRCih0zTZOnSpVx11VVYlsX8+fMZPXo0q1atYuzYsUyfPp0nnniCiooKDMMgOzub5cuXA5CTk8O3v/1tFixYAMC1116bXMxNCCGEEEIMfppSSqW7Eb0hGo3K8M1+Ts59+nT33MsQzv5N+rn+T859+sgw9cFB+rn+T859+kg/N/jIMHUhhBBCCCGEECLFJBgXQgghhBBCCCFSTIJxIYQQQgghhBAixQbNnHEhhBBCCCGEEGKgkMy4EEIIIYQQQgiRYhKMCyGEEEIIIYQQKSbBuBBCCCGEEEIIkWISjAshhBBCCCGEECkmwbgQQgghhBBCCJFiEowLIYQQQgghhBAp1u+C8dtuu42JEycya9as5HN1dXVcfvnlnH/++Vx++eXU19cnX4vFYsydOxeAhoYGrrvuOi688EIuuugitmzZ0u69H330Ub7whS+wf//+Dvfv6NhHO75Sih/96EfMmDGD2bNn83//93+9ezJSaM+ePfzbv/0bZWVlzJw5k1/+8peAnPtUsiyLiy++mKuvvhqA3bt3s3DhQmbMmMENN9xANBpNbltVVcUVV1wBwOeff84VV1zBRRddRFlZGZ9++mm79/3Rj37EGWec0e65Q/e/8sorOfvss5PHbdPZ8aPRKDfccAMzZsxg4cKFRxxPHJ30cekj/Vz6ST+XGaSfSx/p59JP+jlxLPpdMD5v3jweeeSRds89/PDDTJw4kfXr1zNx4kQefvjh5GvvvfceZ555JgB33nknU6ZM4ZVXXuGFF15g5MiRye327NnDm2++yQknnNDuvQ/dv6NjH+34GzduZOfOnaxfv54f/vCHfP/73++Vc5AOhmFw66238tJLL/Gb3/yGJ598ku3bt8u5T6HHH3+83Xm79957+eY3v8nvf/97AoEAzz77bPK1119/ncmTJwOwZMkSrrzySl5++WWeeeYZ8vLyktv99a9/bfcLt6P9r7rqKlasWHHENp0d/5lnniEQCPD73/+eb37zm9x77729cwIyhPRx6SP9XPpJP5cZpJ9LH+nn0k/6OXEs+l0wPn78eLKzs9s9t2HDBi6++GIALr74Yl577bXka6+//jrnnnsujY2NvPvuuyxYsAAAp9NJIBBIbrd8+XJuueUWNE1r995t+3d27KMdv+15TdM4/fTTaWhooKqq6vhOQJoMGTKEMWPGAOD3+xkxYgSVlZVy7lNk7969/PGPf0yeQ6UUb731FhdccAEAc+fOZcOGDcnt287d9u3bicfjTJo0CQCfz4fH4wESd2ZXrFjBLbfccsTxDj33EydOxOfztXv9aMevqKhI3gG/4IIL2LRpE0qpXjsXg530cekj/Vx6ST+XOaSfSx/p59JL+jlxrPpdMN6RmpoahgwZAkBBQQE1NTXJ195++23OOeccPv30U3Jzc7ntttu4+OKL+e53v0tLSwsAr732GkOGDOGLX/ziEe/dtn9Pjl9ZWUlhYWFyu8LCQiorK4/vw/YDn376KR9++CGnnXaanPsUueuuu7jlllvQ9cRXsra2lkAggGmaQPvPZ1kWO3bsYNSoUezcuZNAIMDixYu5+OKLufvuu7EsC4A1a9Ywffr05Plrc+j+nTna8SsrKykqKgLANE2ysrKora3txbOReeR7lnrSz6We9HOZTb5nqSf9XOpJPyeO1YAIxg+laVryjlxlZSXZ2dl4PB7i8TgffPABX/3qV/ntb3+Lx+Ph4YcfprW1lV/84hdcf/31R7zXofv35PiDUXNzM9dddx233347fr+/3Wty7vvGH/7wB3Jzcxk7dmy3tn///fc57bTTAIjH42zevJklS5bw7LPP8umnn7J27VoqKyt55ZVXuPTSS4+6v+h/5HvW96SfSz3p58Sh5HvW96SfSz3p50RPDIhgPC8vLzlkpaqqitzcXCAxz2TKlClA4k5PYWFh8ofywgsv5IMPPmDXrl18+umnzJkzh9LSUvbu3cu8efPYt29fu/17cvxQKMTevXuT2+3du5dQKNR7HzzFYrEY1113HbNnz+b8888H5Nynwp///GcqKiooLS3lP/7jP3jrrbe48847aWhoIB6PA+0/3+Hn/pRTTqG4uBjTNJk+fToffPABH374Ibt27eL888+ntLSU1tZWZsyYccT+nQkGg50ePxQKsWfPHiDxy6OxsZFgMNj7JyaDyPcsdaSfSw/p54R8z1JH+rn0kH5O9MSACMZLS0v57W9/C8Bvf/tbpk+fDiTmSbT9EBYUFFBYWMg//vEPADZt2sTIkSP5whe+wKZNm6ioqKCiooLCwkLWrl1LQUFBu/17cvy255VS/OUvfyErK+uIISQDhVKK7373u4wYMYLLL788+byc+7530003sXHjRioqKrj//vuZMGEC9913H//0T//Eq6++CsDzzz9PaWkpAG+99RYTJ04EYNy4cTQ0NCRXNX377bcZNWoU//Iv/8Kbb76ZPPcej4ff//73R+zfGU3TOj1+aWkpzz//PACvvvoqEyZMGJR3uFNJvmepIf1c+kg/J+R7lhrSz6WP9HOiR1Q/c+ONN6pJkyapU089VU2ZMkU9/fTTav/+/eob3/iGmjFjhrrssstUbW2tisfjas6cOe32/eCDD9TcuXPVrFmz1DXXXKPq6uqOeP9p06apmpqaDvfv6NhKqQ6Pr5RStm2r73//+2r69Olq1qxZauvWrX1xSlLi3XffVSeffLKaNWuW+vKXv6y+/OUvqz/+8Y9y7lPsrbfeUosWLVJKKbVr1y41f/58dd5556l///d/V5FIRNXU1Kh/+7d/a7fPG2+8oWbNmqVmzZqllixZoiKRyBHve/rppyulVIf7f/WrX1X/9E//pMaNG6emTJmiNm7c2OnxlVIqHA6rf//3f1fnnXeemj9/vtq1a1evn4fBTPq49JF+rn+Qfm7wk34ufaSf6x+knxPdpSk1MJfN27x5M7/73e9YtmxZWvbPZHLu0+eFF16gsrKSRYsWpWV/kTryPUsvOf/pI/1c5pDvWXrJ+U8f6edEmwEbjAshhBBCCCGEEAPVgJgzLoQQQgghhBBCDCYSjAshhBBCCCGEECkmwbgQQgghhBBCCJFiEowLIYQQQgghhBApJsG4SLu3336bq6++Ot3NEEKIPiP9nBBiMJM+ToiekWBcCCGEEEIIIYRIMTPdDRADxwsvvMATTzxBLBbjtNNO44477uDss89m4cKFvPnmm+Tn5/OTn/yE3NxcPvzwQ+644w5aW1sZPnw4d911F9nZ2XzyySfccccd7N+/H8MwWLVqFQAtLS1cd911fPzxx4wZM4Z7770XTdO49957qaiowDAMJk+ezJIlS9J8FoQQg5n0c0KIwUz6OCH6GSVEN2zfvl1dffXVKhqNKqWUuuOOO9Tzzz+vTj75ZPXCCy8opZT66U9/qn7wgx8opZSaNWuWevvtt5VSSq1cuVL96Ec/UkoptWDBArV+/XqllFLhcFi1tLSot956S5155plqz549yrIs9ZWvfEW9++67av/+/er8889Xtm0rpZSqr69P6WcWQmQW6eeEEIOZ9HFC9D8yTF10y6ZNm9i2bRsLFixgzpw5bNq0id27d6PrOmVlZQDMmTOH9957j8bGRhobGznnnHMAmDt3Lps3b6apqYnKykpmzJgBgMvlwuPxAPClL32JwsJCdF3ni1/8Ip999hlZWVm4XC5uv/121q9fj9vtTs+HF0JkBOnnhBCDmfRxQvQ/MkxddItSirlz53LTTTe1e/7nP/95u8eapvXo/Z1OZ/LfhmFgWRamafLss8+yadMmXnnlFdasWcPjjz/eo/cXQoiuSD8nhBjMpI8Tov+RzLjolokTJ/Lqq69SU1MDQF1dHZ999hm2bfPqq68CsG7dOs466yyysrIIBAJs3rwZSMxPGj9+PH6/n8LCQl577TUAotEora2tnR6zubmZxsZGpk6dyu23385HH33Ux59SCJHJpJ8TQgxm0scJ0f9IZlx0y6hRo7jhhhu44oorsG0bh8PB0qVL8Xq9bN26lQcffJDc3FxWrlwJwN13351c9KO4uJjly5cDsGLFCpYuXcqqVatwOBzJRT860tzczLe//W0ikQgAt956a59/TiFE5pJ+TggxmEkfJ0T/oymlVLobIQauM844gy1btqS7GUII0WeknxNCDGbSxwmRPjJMXQghhBBCCCGESDHJjAshhBBCCCGEECkmmXEhhBBCCCGEECLFJBgXQgghhBBCCCFSTIJxIYQQQgghhBAixSQYF0IIIYQQQgghUkyCcSGEEEIIIYQQIsUkGBdCCCGEEEIIIVLs/wMpSmyWjr2g/QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1080x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+MAAAEoCAYAAAAzNCCOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAACmY0lEQVR4nOzdd3wUZf7A8c9sS3bTE2Ap0gQEpFf1KEo7pCkIOe4QO2LDw4JSVFQUFRB+oqgcRVBRUYFDIXY4xQInCBoB9QQJVQLpyW6ybeb3xyZDNj2Qnu+b176yM/PM7LMhOzvfeb7P8yiapmkIIYQQQgghhBCiyhiquwJCCCGEEEIIIUR9I8G4EEIIIYQQQghRxSQYF0IIIYQQQgghqpgE40IIIYQQQgghRBWTYFwIIYQQQgghhKhiEowLIYQQQgghhBBVTIJxIYQQog5o3749n3zySZnKzpo1izvuuKOSaySEOB+jR4/mpZdequ5qFLJp0yZ69OhR5vLlOScJUV8pMs94/XTgwAEmTJhAt27dWL9+fcC2EydOMGTIEDZs2ECXLl0Ctt1www20a9eOuXPn6ut++eUX/vWvf7F7927S09Np0qQJvXr14pZbbqF9+/ZFvv6sWbP497//DYDRaKRRo0ZceeWVPPDAA0RERASU/emnn3j11VfZu3cvTqeTiy66iNGjR3P77bcTFBQUUPZ86iKEqDwlnWtExTp79iwRERFYLJZSy2ZmZqJpGuHh4VVQMyFqt6SkJJYvX86XX37J6dOniYqKon379txwww1ceeWVFf56o0ePZvjw4dx7771Fbt+0aROzZ8/Wlxs2bEivXr2YMWMGzZs3r/D65MnJycHhcBATE1Om8uU5J5WXx+Phgw8+4OOPP+b333/H4/HQrFkzBg0axA033FDo3LZ7925Wr17NgQMHOHPmDM8++yzXXXddQBlN01i2bBnvvvsuGRkZdOvWjblz59KuXTu9THp6Ok8//TTbt28HYPDgwTz22GNyLhXnTVrG66n333+fSZMm8fvvv3P48OHzPs5//vMfYmNjcTqdLFy4kI8//pglS5bQsGFDFi9eXOK+f/nLX/jmm2/Yvn07Tz/9NP/5z3948sknA8ps27aN66+/nqioKNasWcOnn37KtGnTePfdd7n11ltxu90VUhchROWoqHNNWXk8nkp/jYqW/zx2IRo2bFjmi96wsDC5eBSiDE6cOMG4ceP45ptveOCBB/jwww9Zu3YtV111FY8//vh5H1dVVXw+33nvb7Va+eabb/j66695/vnn+fXXX7n77ruLPWZFnBuDg4PLHIhD+c5J5XHixAkmTJjA2rVrGTRoEEuWLGHt2rXccccd/Pbbb4wYMYJ9+/YF7ON0Ornkkkt45JFHCA4OLvK4K1eu5LXXXuOxxx5jw4YNREdHc8stt5CVlaWXefDBBzl48CCrVq1i1apVHDx4kIcffrjC36OoRzRR72RnZ2u9evXSfv31V2327Nnac889F7D9+PHj2iWXXKLFx8cX2nfy5Mnak08+qWmapjmdTu2yyy7T7rjjjiJfJz09vdg6zJw5U5s6dWrAumeffVbr27evvpx3/LvuuqvQ/vv379fat2+vrVy58oLrIoSoHCWdax544AFt2rRpAeV9Pp82cOBA7bXXXtM0TdNUVdVWrFihDRkyROvSpYs2evRobfPmzXr5vHPVli1btBtuuEHr0qWL9uabb2opKSna/fffrw0YMEDr0qWLNnLkSG3Dhg0Br+VwOLSHHnpI6969u3bFFVdoy5cv16ZOnarNnDlTL+NyubSFCxdqAwYM0Lp27apdd9112o4dO0p8z5MnT9Yee+wx7amnntJ69+6t9e7dW3vuuec0n8+nlxk0aJD24osvarNmzdJ69eql3XvvvZqmadoPP/ygXX/99VrXrl21/v37a3PnztUyMzP1/VRV1VavXq0NGzZM69SpkzZgwADt+eef17dfcskl2scff6wvv/TSS9pVV12lderUSfvLX/6iPfTQQ/q2gudgl8ulPf3009oVV1yhde7cWYuNjdV2796tb9+1a5d2ySWXaN999502YcIErWvXrtq4ceO0/fv3l/j7EKK2mzJlita/f38tKyur0Lb81xavvfaaNnr0aK1bt25a//79tTlz5gRs37hxo9a9e3ftyy+/1EaNGqV17NhR++2337SkpCTtzjvv1Lp06aJdddVV2vvvv6+NGjVKe/HFF4utU96x8vvggw+0Sy65RDt8+LD+ef3yyy+18ePHa506ddK2b99e6jlV0zTt9OnT2gMPPKD17dtX69q1q3bNNddoO3fuLPJ1T506pd15551anz59tK5du2rDhw/Xtm7dqm8veE769ddftZtuuknr0qWL1qdPH23mzJlaRkaGvj3vvLR27Vqtf//+Wu/evbVZs2ZpTqdTL5OZman99a9/1RYvXqypqlrk7+eLL77Q/vKXv2iJiYlFbu/evbu2cePGgHWqqmr9+vXTXnnlFX1ddna21r17d+2dd97RNE3TDh06pF1yySXanj179DK7d+/Wf+9CnA9pGa+HPvnkE5o2bUr79u259tpr2bx583ndMf3mm29ITU1l6tSpRW4vT6vL8ePH+frrrzGZTIWOP2XKlELlO3XqxBVXXMHWrVsrvC5CiIpR0rnmmmuu4csvvyQzM1Mv//3333P27FlGjRoFwAsvvMCGDRuYO3cucXFxTJ06lccff5wvv/wy4HWWLFnCpEmTiIuLY+jQobjdbi699FL+9a9/ERcXx4033sjjjz/Ozp079X2ee+45du/ezbJly3j99df59ddf2bNnT8BxZ8+eze7du1m8eDFbt25l3Lhx3HXXXfz6668lvu8tW7agaRrr16/nySef5L333uP1118PKLNmzRouvvhiNm7cyAMPPMBvv/3GbbfdxuDBg/nggw9YtmwZv/76K3PmzAl4n6+88gpTp04lLi6OpUuX0rhx4yLr8Omnn/Laa6/x+OOP89lnn7F8+XK6du1abJ3zsomeeeYZNm/ezCWXXMLtt9/OmTNnAsotXryYBx98kE2bNhEVFcWMGTPQpLebqKPS0tL4+uuvuf766wkJCSm0Pf+1haIozJkzh61bt7J48WLi4+N56qmnAsq7XC5eeeUVnnzySeLi4mjatCmzZs3i2LFjrFmzhpdffpkPPviAkydPlruuea29Xq9XX/f8889z33338fHHH9OtW7dSz6lOp5MbbriBkydP8vLLL7NlyxbuueeeYl/zySefJCcnhzfeeIOtW7cyZ84cwsLCiizrdDq57bbbsNlsvP/++yxbtox9+/YFnOMA9uzZw++//87atWv5v//7Pz7//HPeeOMNffuqVavo2LEjDzzwAA6Hg1mzZtG/f3/GjRvHpk2bGDVqFEOGDCE2NpZXXnmlzL+/EydOcPbsWfr16xfwO+3Tp4/eyr5v3z5sNhs9e/bUy/Tq1QubzVaoJV6IsjKVXkTUNRs3buTaa68FoG/fvlitVrZt28bVV19druMkJCQA0KZNm/Oqx9dff02PHj3w+Xy4XC6AgD5QR44cKfH4bdq04f3336+QugghKl5J55p+/foRFhbGJ598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7asoCi1btqR58+ZlusFWlnPqpZdeym+//VauG5eNGzdm4sSJLF26lH/+85+8++67xb7+//73v4CGnn379qGqapnPM1FRUXi9Xv3307t3b1asWIHT6SQ1NVUfm+P333/nySef5Lbbbivz+7joooto2LAh3333nb7O5XKxZ88evTtQjx49cDqdAf3D9+3bp2cpCHE+JBivR7788ktSU1OJjY3lkksuCXiMHDmSTZs26ReQt9xyCytXruSDDz7g2LFjxMfHM2PGDKKiovR0dpvNxtNPP80333zD1KlT+fbbbzlx4gQHDhzghRdeYMaMGeWq32WXXUbbtm159dVXA47/1VdfMXv2bA4ePMipU6eIi4vjrrvuolevXtx4442VUhchxPkrz7lmzJgxvP/++3z55Zdcc801+jFCQ0O59dZbWbhwIRs2bODo0aP88ssvvPPOO8Ve7OVp1aoVO3fuZM+ePRw+fJh58+Zx4sQJfXtISAjXXXcdzz//PDt37uTQoUM8+uijqKqqt3a0bt2aMWPGMHv2bD755BOOHz/Ozz//zOrVq/nss89KfP0zZ84wf/58/vjjDz755BNWr15dZIt3frfffjvx8fHMnTuXgwcPcvToUf7zn/8wd+5c/fdx4403smTJEjZu3Kifl99+++0ij7dp0ybef/99fvvtN44fP86mTZswm81FthTZbDb+8Y9/8Pzzz/PVV19x+PBhnnjiCZKTk5k0aVKJ9Rairsubvmz8+PF8/PHH/PHHHxw+fJi3335bP2e1bNkSVVV5/fXXOX78OFu3bi00aGNRLr74YgYMGMDjjz/Ovn37+OWXX5g1a1aFZN8UVJZz6ujRo4mJieHuu+9mz549HD9+nG3btrFr164ij/n000+zY8cOjh8/zi+//MLXX39N27Ztiyw7ZswYgoODmTlzJr/99hu7d+9m7ty5/PWvfy1zC7bBYGDIkCG89dZbADzyyCMcPnyYXr16MXjwYHr27MnJkyeZMmUKkydPDphH3OFw8Msvv/DLL7+gqiqnTp3il19+4dSpU4D/5saNN97IypUr+eyzz/jf//7HrFmzsNlsjB49GvDfUMj//7Vv3z4ef/xxBg0axMUXX1y2/wghCpA09Xpkw4YNXHbZZURFRRXaNmLECBYvXsy3335L//79mTJlCjabjVWrVnHixAnCwsLo1asXb7zxRsCXxNChQ1m/fj0rVqzgoYceIiMjg8aNG9O7d28eeuihctfxlltuYfbs2dx+++00a9aMYcOGsW7dOpYvX85NN91EdnY2zZo1IzY2lqlTpwakK1V0XYQQ56c855prr72Wl156iZiYmIBRbAHuu+8+GjRowGuvvcYTTzxBaGgoHTt2LHKGhfzuuusuTpw4we23305wcDDjxo1jzJgxAf2fZ86cSXZ2NnfddRc2m42bb76ZpKSkgHPKs88+y/Lly1m0aBGJiYlERETQpUsXLrvsshJff8yYMaiqyt/+9jcURWHChAmlBuMdOnRg3bp1vPDCC0yePBlVVWnevHnAQE4PPvggERERvPLKKyQmJhITE8PYsWOLPF54eDgrV65kwYIFeL1e2rRpw0svvVTsAEt558jZs2eTkZHBpZdeysqVK8vUd1WIuqx58+Zs2rSJf/3rXzz//PMkJiYSGRlJhw4dmDdvHuD//D7yyCOsXLmSF154gR49evDwww8HDH5YnOeee45HH32Um266iaioKKZNm1aulunyKO2carPZWLduHc899xx33nknHo+H1q1bBwyum5+maTz99NP8+eefhISEcMUVVzBr1qwiy1qtVlavXs0zzzxDbGwsQUFBDBkyRB8npKzuueceJkyYQJcuXRg6dCgffvghSUlJhIaGYjKZuOGGG4pMGd+/f7/egAPw0ksv8dJLLzFu3Diee+45wH9T1OVyMW/ePNLT0+nWrRuvvfZaQFbT4sWLeeqpp/RW98GDB+s3TYU4H4omI18JIYSo59xuN4MGDeK2224LGNG8vG644QbatWsnF2dCCFFJdu3axfTp0xk+fDj/+Mc/uOSSSzAYDBw5coS33nqLpKQkfSA3IWo6aRkXQghR7xw8eJDDhw/TtWtXHA4HK1euxOFwMHLkyOqumhBCiBJcfvnlbN68mVdeeYWbb76ZjIwMDAYDoaGhjB49mscee6y6qyhEmUkwLoQQol5as2YNR44cwWQy6WniMkWXEELUfE2aNOGpp57iySefJCUlBZ/PR8OGDfU53YWoLSRNXQghhBBCCCGEqGJy+0gIIYQQQgghhKhiEowLIYQQQgghhBBVTIJxIYQQQgghhBCiikkwLoQQQgghhBBCVDEJxoUQQgghhBBCiComwbgQQgghhBBCCFHFJBgXQgghhBBCCCGqmATjQgghhBBCCCFE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/v37Iz09Hf/+978BAOfPn8ewYcMwcuRInD9/HsXFxSguLkZ6ejqOHTuG/v37t9q/Mx0d33e/EAL//Oc/ER8f778MhKi7Qnned3Tszo7P8753WOdIi1jntIV1jrSIdY56JASTxnXo0qVLYsSIESInJ0fMmTNHzJkzR3z44YeiurpaLFmyREyfPl388Ic/FF9//bVwu91i7ty5rfYvLy8X8+fPFzk5OWL16tWipqamzTGmTp0qqqqq2t3/pZdeEhMnThSjR48WkydP9s9o2N7xhRDC6/WKLVu2iGnTpomcnBxRVlbWF98WinKhPO87OrYQPO/7CuscaRHrnLawzpEWsc5RT0hCCBHqFwR64vLlyzh58iS2bt0akv2JQoHnvbbw35u0iOe9tvDfm7SI5z35RGwYJyIiIiIiIopUYfWecSIiIiIiIiItYBgnIiIiIiIiCjKGcSIiIiIiIqIgYxgnIiIiIiIiCjKGcQqK6upqLFy4EPPmzcPly5excuVK1NbWAgDGjRsHAKioqMB7770XymESEfUY6xwRRTvWOaLAYhinoDh//jxGjBiBwsJCjB8/Hr/73e+QkJDQapvbt2/j1KlTD/S4brc7kMMkIuox1jkiinasc0SBxaXNNK6iogIrV67EE088gdLSUlgsFrz55pswmUxYvHgxNmzYgIyMDFRXVyMvLw/FxcU4duwYzpw5g4aGBty8eRPLli2Dy+XCiRMnoCgK9u3bh6SkJP8xrl69itWrV6OxsREWiwXvvvsusrKycOTIEaSkpGDcuHEoLS3Fd7/7XXz++ed46KGHMH/+fCxevBivvfYaLl68CKfTiUWLFuF73/seLly4gIKCAiQkJOCLL77A8ePH8eKLL6KyshJerxfPP/88srKyQvdNJaKwwjpHRNGOdY4oMrEzTrh58yYWLVqEoqIixMfH4/Tp013uc/36dfzmN7/BkSNH8Otf/xomkwmFhYUYO3YsCgsLW207atQorFu3DllZWThx4gRMJlO7j/nyyy9j/PjxOHHiBH70ox/hyJEjiI+Px9GjR3H06FEcPnwYt27dAgCUl5dj8+bNOH36NEpKSpCWloaTJ0/i1KlTmDx5cq+/J0QUXVjniCjasc4RRR59qAdAoffQQw9h1KhRAIBHH30Ut2/f7nKfb3/724iLiwMAxMfHIzMzEwAwYsQIfPrppwEZ10cffYRPP/3U/8ukrq4ON2/ehMFgQEZGBgYNGuQ/5o4dO7Br1y5MnToV48ePD8jxiSh6sM4RUbRjnSOKPAzjBEVR/J/rdDo4HA7/5753MTidzg73kWUZBoPB/7nH4wnIuIQQeOWVV9q8MnrhwgXExMT4bz/88MM4duwY/va3v+H111/HU089hbVr1wZkDEQUHVjniCjasc4RRR5epk4dGjhwIK5cuQIA+OCDD/r8eLGxsbDZbP7bkyZNwp/+9Ce4XC4AwBdffAG73d5mP6vVCrPZjLlz52L58uUoLy/v87ESUXRgnSOiaMc6RxS+2BmnDi1btgwvvvgiDh8+jClTpvT58UaOHAlZljFnzhzk5uZiyZIluH37NnJzcyGEQHJyMt588802+127dg07d+6ELMvQ6/XYsmVLn4+ViKID6xwRRTvWOaLwxdnUiYiIiIiIiIKMl6kTERERERERBRnDOBEREREREVGQMYwTERERERERBRnDOBEREREREVGQMYwTERERERERBRnDOBEREREREVGQMYwTERERERERBRnDOBEREREREVGQ/T+7WTt3nFBhgwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1080x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "parameters_dict=dict(performances_df_cnn['Parameters'])\n",
    "performances_df_cnn['Parameters summary']=[str(parameters_dict[i]['clf__max_epochs'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__batch_size'])+\n",
    "                                   '/'+    \n",
    "                                   str(parameters_dict[i]['clf__module__num_filters'])\n",
    "                                   for i in range(len(parameters_dict))]\n",
    "\n",
    "performances_df_cnn_subset = performances_df_cnn[performances_df_cnn['Parameters'].apply(lambda x:x['clf__lr']== 0.001 and x['clf__module__num_filters']==100 and x['clf__max_epochs']==20 and x['clf__module__num_conv']==2 and x['clf__module__p']==0.2).values]\n",
    "summary_performances_cnn_subset=get_summary_performances(performances_df_cnn_subset, parameter_column_name=\"Parameters summary\")\n",
    "indexes_summary = summary_performances_cnn_subset.index.values\n",
    "indexes_summary[0] = 'Best estimated parameters'\n",
    "summary_performances_cnn_subset.rename(index = dict(zip(np.arange(len(indexes_summary)),indexes_summary)))\n",
    "get_performances_plots(performances_df_cnn_subset, \n",
    "                       performance_metrics_list=['AUC ROC', 'Average precision', 'Card Precision@100'], \n",
    "                       expe_type_list=['Test','Validation'], expe_type_color_list=['#008000','#FF0000'],\n",
    "                       parameter_name=\"batch size\",\n",
    "                       summary_performances=summary_performances_cnn_subset)\n",
    "\n",
    "performances_df_cnn_subset = performances_df_cnn[performances_df_cnn['Parameters'].apply(lambda x:x['clf__lr']== 0.001 and x['clf__module__num_filters']==100 and x['clf__batch_size']==64 and x['clf__module__num_conv']==2 and x['clf__module__p']==0.2).values]\n",
    "summary_performances_cnn_subset=get_summary_performances(performances_df_cnn_subset, parameter_column_name=\"Parameters summary\")\n",
    "indexes_summary = summary_performances_cnn_subset.index.values\n",
    "indexes_summary[0] = 'Best estimated parameters'\n",
    "summary_performances_cnn_subset.rename(index = dict(zip(np.arange(len(indexes_summary)),indexes_summary)))\n",
    "get_performances_plots(performances_df_cnn_subset, \n",
    "                       performance_metrics_list=['AUC ROC', 'Average precision', 'Card Precision@100'], \n",
    "                       expe_type_list=['Test','Validation'], expe_type_color_list=['#008000','#FF0000'],\n",
    "                       parameter_name=\"epochs\",\n",
    "                       summary_performances=summary_performances_cnn_subset)\n",
    "\n",
    "performances_df_cnn_subset = performances_df_cnn[performances_df_cnn['Parameters'].apply(lambda x:x['clf__lr']== 0.001 and x['clf__max_epochs']==20 and x['clf__batch_size']==64 and x['clf__module__num_conv']==2 and x['clf__module__p']==0.2).values]\n",
    "summary_performances_cnn_subset=get_summary_performances(performances_df_cnn_subset, parameter_column_name=\"Parameters summary\")\n",
    "indexes_summary = summary_performances_cnn_subset.index.values\n",
    "indexes_summary[0] = 'Best estimated parameters'\n",
    "summary_performances_cnn_subset.rename(index = dict(zip(np.arange(len(indexes_summary)),indexes_summary)))\n",
    "get_performances_plots(performances_df_cnn_subset, \n",
    "                       performance_metrics_list=['AUC ROC', 'Average precision', 'Card Precision@100'], \n",
    "                       expe_type_list=['Test','Validation'], expe_type_color_list=['#008000','#FF0000'],\n",
    "                       parameter_name=\"num filters\",\n",
    "                       summary_performances=summary_performances_cnn_subset)\n",
    "\n",
    "\n",
    "parameters_dict=dict(performances_df_cnn['Parameters'])\n",
    "performances_df_cnn['Parameters summary']=[str(parameters_dict[i]['clf__max_epochs'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__module__num_conv'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__batch_size'])+\n",
    "                                   '/'+    \n",
    "                                   str(parameters_dict[i]['clf__module__num_filters'])+\n",
    "                                   '/'+                                       \n",
    "                                   str(parameters_dict[i]['clf__module__p'])\n",
    "                                   for i in range(len(parameters_dict))]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d26febc6",
   "metadata": {},
   "source": [
    "Similar to the feed-forward network, the number of epochs and batch size, which are optimization parameters, have a sweet spot, which is probably connected to other parameters (model size, dropout, etc.). For the chosen optimization parameters, 100 filters seem to lead to better results than 200."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c0c88d75",
   "metadata": {},
   "source": [
    "### Grid search on the Long Short Term Memory\n",
    "\n",
    "For the LSTM, we will search the following hyperparameters:\n",
    "\n",
    "* Batch size : [64,128,256]\n",
    "* Initial learning rate: [0.0001, 0.0002, 0.001]\n",
    "* Number of epochs : [5, 10, 20]\n",
    "* Dropout rate : [0, 0.2, 0.4]\n",
    "* Dimension of the LSTM hidden states : [100,200]\n",
    "\n",
    "The LSTM takes sequences of transactions as input, so the process is the same as for the CNN, and the module also needs to be adapted to output two neurons. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "beb3a1d2",
   "metadata": {},
   "outputs": [],
   "source": [
    "class FraudLSTM(torch.nn.Module):\n",
    "    \n",
    "    def __init__(self, num_features,hidden_size = 100, hidden_size_lstm = 100, num_layers_lstm = 1,p = 0):\n",
    "        super(FraudLSTM, self).__init__()\n",
    "        # parameters\n",
    "        self.num_features = num_features\n",
    "        self.hidden_size = hidden_size\n",
    "        \n",
    "        # representation learning part\n",
    "        self.lstm = torch.nn.LSTM(self.num_features, hidden_size_lstm, num_layers_lstm, batch_first = True, dropout = p)\n",
    "            \n",
    "                    \n",
    "        #representation to hidden\n",
    "        self.fc1 = torch.nn.Linear(hidden_size_lstm, self.hidden_size)\n",
    "        self.relu = torch.nn.ReLU()\n",
    "        \n",
    "        #hidden to output\n",
    "        self.fc2 = torch.nn.Linear(self.hidden_size, 2)\n",
    "        self.softmax = torch.nn.Softmax()\n",
    "        \n",
    "        self.dropout = torch.nn.Dropout(p)\n",
    "        \n",
    "    def forward(self, x):\n",
    "        \n",
    "        representation = self.lstm(x.transpose(1,2))\n",
    "\n",
    "                    \n",
    "        hidden = self.fc1(representation[1][0][0])\n",
    "        relu = self.relu(hidden)\n",
    "        relu = self.dropout(relu)\n",
    "        \n",
    "        output = self.fc2(relu)\n",
    "        output = self.softmax(output)\n",
    "        \n",
    "        return output"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "id": "cd67689b",
   "metadata": {},
   "outputs": [],
   "source": [
    "seed_everything(42)\n",
    "classifier = NeuralNetClassifier(\n",
    "    FraudLSTM,\n",
    "    max_epochs=2,\n",
    "    lr=0.001,\n",
    "    optimizer=torch.optim.Adam,\n",
    "    batch_size=64,\n",
    "    dataset=FraudSequenceDatasetForPipe,\n",
    "    iterator_train__shuffle=True,\n",
    ")\n",
    "classifier.set_params(train_split=False, verbose=0)\n",
    "\n",
    "parameters = {\n",
    "    'clf__lr': [0.0001,0.0002,0.001],\n",
    "    'clf__batch_size': [64,128,256],\n",
    "    'clf__max_epochs': [5,10,20],\n",
    "    'clf__module__hidden_size': [500],\n",
    "    'clf__module__p': [0,0.2,0.4],\n",
    "    'clf__module__num_features': [int(len(input_features))],\n",
    "    'clf__module__hidden_size_lstm': [100,200],\n",
    "}\n",
    "\n",
    "start_time=time.time()\n",
    "\n",
    "#these will get normalized but it should still work\n",
    "input_features_new = input_features + ['CUSTOMER_ID','TX_DATETIME_TIMESTAMP']\n",
    "\n",
    "performances_df=model_selection_wrapper(transactions_df, classifier, \n",
    "                                        input_features_new, output_feature,\n",
    "                                        parameters, scoring, \n",
    "                                        start_date_training_for_valid,\n",
    "                                        start_date_training_for_test,\n",
    "                                        n_folds=n_folds,\n",
    "                                        delta_train=delta_train, \n",
    "                                        delta_delay=delta_delay, \n",
    "                                        delta_assessment=delta_assessment,\n",
    "                                        performance_metrics_list_grid=performance_metrics_list_grid,\n",
    "                                        performance_metrics_list=performance_metrics_list,\n",
    "                                        n_jobs=10)\n",
    "\n",
    "execution_time_lstm = time.time()-start_time\n",
    "\n",
    "parameters_dict=dict(performances_df['Parameters'])\n",
    "performances_df['Parameters summary']=[str(parameters_dict[i]['clf__max_epochs'])+\n",
    "                                   '/'+\n",
    "                                    str(parameters_dict[i]['clf__batch_size'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__module__hidden_size_lstm'])+\n",
    "                                   '/'+                           \n",
    "                                   str(parameters_dict[i]['clf__module__p'])\n",
    "                                   for i in range(len(parameters_dict))]\n",
    "\n",
    "# Rename to performances_df_lstm for model performance comparison at the end of this notebook\n",
    "performances_df_lstm=performances_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "f47c1bc8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "14750.79782986641\n"
     ]
    }
   ],
   "source": [
    "print(execution_time_lstm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "id": "ab0016d9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AUC ROC</th>\n",
       "      <th>Average precision</th>\n",
       "      <th>Card Precision@100</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Best estimated parameters</th>\n",
       "      <td>5/256/100/0.2</td>\n",
       "      <td>20/128/100/0.4</td>\n",
       "      <td>5/64/200/0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Validation performance</th>\n",
       "      <td>0.881+/-0.01</td>\n",
       "      <td>0.681+/-0.01</td>\n",
       "      <td>0.286+/-0.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Test performance</th>\n",
       "      <td>0.876+/-0.02</td>\n",
       "      <td>0.665+/-0.02</td>\n",
       "      <td>0.297+/-0.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Optimal parameter(s)</th>\n",
       "      <td>5/256/200/0.4</td>\n",
       "      <td>20/128/100/0.2</td>\n",
       "      <td>5/64/200/0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Optimal test performance</th>\n",
       "      <td>0.878+/-0.01</td>\n",
       "      <td>0.674+/-0.01</td>\n",
       "      <td>0.302+/-0.01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                 AUC ROC Average precision Card Precision@100\n",
       "Best estimated parameters  5/256/100/0.2    20/128/100/0.4         5/64/200/0\n",
       "Validation performance      0.881+/-0.01      0.681+/-0.01       0.286+/-0.02\n",
       "Test performance            0.876+/-0.02      0.665+/-0.02       0.297+/-0.01\n",
       "Optimal parameter(s)       5/256/200/0.4    20/128/100/0.2       5/64/200/0.2\n",
       "Optimal test performance    0.878+/-0.01      0.674+/-0.01       0.302+/-0.01"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "summary_performances_lstm=get_summary_performances(performances_df_lstm, parameter_column_name=\"Parameters summary\")\n",
    "summary_performances_lstm"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9857ad67",
   "metadata": {},
   "source": [
    "The results with the LSTM are more competitive than the CNN, and they are similar to the feed-forward network. This is still aligned with the hypothesis that the sequence does not really provide, for this dataset, a notable added value compared to only the last transaction with aggregated information. Nevertheless, the comparison with the CNN shows that, even with the same input, the choice of architecture can have an important impact on the performance. Moreover, the performed grid-search is for illustration purposes and is far from exhaustive, so the hyperparameters tuning brings an additional artifact to the results.\n",
    "\n",
    "The conclusions about the set of optimal hyperparameters are very mixed here. Let us fix the learning rate to 0.0001, the batch size to 128, the dropout level to 0.2, and visualize the impact of the number of epochs and of the size of the hidden states."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "id": "20159b8d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+MAAAEoCAYAAAAzNCCOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAACY9klEQVR4nOzdd3wUZf7A8c9sSzaVhLIECKBSpQuiHu1oh4Ao9VRAUUEU5X5YAAERBEVFREVREMGAoiDFAyF2PEURPDnQiNhAQk8ooaRumZnfH5tddlMXSLIp37evvLIz88zss8FM5vuU76Pouq4jhBBCCCGEEEKIMmMIdgWEEEIIIYQQQoiqRoJxIYQQQgghhBCijEkwLoQQQgghhBBClDEJxoUQQgghhBBCiDImwbgQQgghhBBCCFHGJBgXQgghhBBCCCHKmATjQgghRCXQtGlTPvnkk4DKTpkyhfvuu6+UaySEuBQ33XQTr776arCrkc8HH3xAu3btAi5/MfckIaoqRdYZr5p++eUXhg4dSps2bVi9erXfsSNHjtCzZ0/WrVtHq1at/I7dcccdNG7cmBkzZnj3/frrr7zxxhv88MMPnDt3jri4ONq3b8/dd99N06ZNC3z/KVOm8O9//xsAo9FIrVq16NatG4888gjR0dF+ZX/66ScWLVrErl27yMrKol69etx0003ce++9hISE+JW9lLoIIUpPUfcaUbJOnjxJdHQ0Foul2LLp6enouk5UVFQZ1EyIiu3UqVMsXryYr776ipSUFGJiYmjatCl33HEH3bp1K/H3u+mmm+jTpw//+te/Cjz+wQcfMHXqVO92zZo1ad++PRMnTiQ+Pr7E6+ORk5NDZmYm1atXD6j8xdyTLpbT6WTjxo18/PHH/PnnnzidTurWrUv37t2544478t3bfvjhB5YtW8Yvv/zCiRMnePbZZxk8eLBfGV3XWbhwIe+//z7nz5+nTZs2zJgxg8aNG3vLnDt3jqeffpovv/wSgB49evDEE0/IvVRcMukZr6LWrl3L8OHD+fPPP9m/f/8lX+c///kPw4YNIysri+eff56PP/6YF198kZo1azJ//vwiz/3b3/7Gt99+y5dffsnTTz/Nf/7zH2bNmuVXZsuWLYwYMYKYmBgSEhL49NNPGT9+PO+//z733HMPDoejROoihCgdJXWvCZTT6Sz19yhpvvexy1GzZs2AH3ojIyPl4VGIABw5coRBgwbx7bff8sgjj/Dhhx+yfPly/v73vzNz5sxLvq6maaiqesnnW61Wvv32W7755hteeOEFfvvtNx544IFCr1kS98bQ0NCAA3G4uHvSxThy5AhDhw5l+fLldO/enRdffJHly5dz33338fvvv9O3b192797td05WVhZNmjTh8ccfJzQ0tMDrvvnmm7z11ls88cQTrFu3jtjYWO6++24yMjK8ZR599FH27t3L0qVLWbp0KXv37mXy5Mkl/hlFFaKLKic7O1tv3769/ttvv+lTp07Vn3vuOb/jhw8f1ps0aaInJSXlO3fkyJH6rFmzdF3X9aysLP26667T77vvvgLf59y5c4XW4bHHHtPHjh3rt+/ZZ5/VO3bs6N32XH/cuHH5zt+zZ4/etGlT/c0337zsugghSkdR95pHHnlEHz9+vF95VVX1rl276m+99Zau67quaZq+ZMkSvWfPnnqrVq30m266Sd+wYYO3vOdetWnTJv2OO+7QW7Vqpb/zzjt6Wlqa/vDDD+tdunTRW7Vqpffr109ft26d33tlZmbqkyZN0tu2bavfcMMN+uLFi/WxY8fqjz32mLeM3W7Xn3/+eb1Lly5669at9cGDB+tbt24t8jOPHDlSf+KJJ/SnnnpK79Chg96hQwf9ueee01VV9Zbp3r27/sorr+hTpkzR27dvr//rX//SdV3X//e//+kjRozQW7durXfu3FmfMWOGnp6e7j1P0zR92bJleu/evfUWLVroXbp00V944QXv8SZNmugff/yxd/vVV1/V//73v+stWrTQ//a3v+mTJk3yHst7D7bb7frTTz+t33DDDXrLli31YcOG6T/88IP3+I4dO/QmTZro3333nT506FC9devW+qBBg/Q9e/YU+fMQoqIbM2aM3rlzZz0jIyPfMd9ni7feeku/6aab9DZt2uidO3fWp02b5nd8/fr1etu2bfWvvvpK79+/v968eXP9999/10+dOqXff//9eqtWrfS///3v+tq1a/X+/fvrr7zySqF18lzL18aNG/UmTZro+/fv9/6+fvXVV/qQIUP0Fi1a6F9++WWx91Rd1/WUlBT9kUce0Tt27Ki3bt1av/nmm/Xt27cX+L7Hjh3T77//fv3aa6/VW7durffp00ffvHmz93jee9Jvv/2mjxo1Sm/VqpV+7bXX6o899ph+/vx573HPfWn58uV6586d9Q4dOuhTpkzRs7KyvGXS09P1f/zjH/r8+fN1TdMK/Pl88cUX+t/+9jc9NTW1wONt27bV169f77dP0zS9U6dO+uuvv+7dl52drbdt21ZftWqVruu6vm/fPr1Jkyb6zp07vWV++OEH789diEshPeNV0CeffEKdOnVo2rQpt9xyCxs2bLikFtNvv/2WM2fOMHbs2AKPX0yvy+HDh/nmm28wmUz5rj9mzJh85Vu0aMENN9zA5s2bS7wuQoiSUdS95uabb+arr74iPT3dW/6///0vJ0+epH///gC8/PLLrFu3jhkzZpCYmMjYsWOZOXMmX331ld/7vPjiiwwfPpzExER69eqFw+Hg6quv5o033iAxMZE777yTmTNnsn37du85zz33HD/88AMLFy5kxYoV/Pbbb+zcudPvulOnTuWHH35g/vz5bN68mUGDBjFu3Dh+++23Ij/3pk2b0HWd1atXM2vWLNasWcOKFSv8yiQkJHDllVeyfv16HnnkEX7//XdGjx5Njx492LhxIwsXLuS3335j2rRpfp/z9ddfZ+zYsSQmJrJgwQJq165dYB0+/fRT3nrrLWbOnMlnn33G4sWLad26daF19owmeuaZZ9iwYQNNmjTh3nvv5cSJE37l5s+fz6OPPsoHH3xATEwMEydORJfZbqKSOnv2LN988w0jRowgPDw833HfZwtFUZg2bRqbN29m/vz5JCUl8dRTT/mVt9vtvP7668yaNYvExETq1KnDlClTOHToEAkJCbz22mts3LiRo0ePXnRdPb29LpfLu++FF17goYce4uOPP6ZNmzbF3lOzsrK44447OHr0KK+99hqbNm3iwQcfLPQ9Z82aRU5ODm+//TabN29m2rRpREZGFlg2KyuL0aNHExYWxtq1a1m4cCG7d+/2u8cB7Ny5kz///JPly5fz0ksv8fnnn/P22297jy9dupTmzZvzyCOPkJmZyZQpU+jcuTODBg3igw8+oH///vTs2ZNhw4bx+uuvB/zzO3LkCCdPnqRTp05+P9Nrr73W28u+e/duwsLCuOaaa7xl2rdvT1hYWL6eeCECZSq+iKhs1q9fzy233AJAx44dsVqtbNmyhRtvvPGirpOcnAzAVVdddUn1+Oabb2jXrh2qqmK32wH85kAdOHCgyOtfddVVrF27tkTqIoQoeUXdazp16kRk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aJpGUlKSd9+xY8cCOldRFBo0aEB8fHxADWyB3FOvvvpqfv/994tquKxduza33norCxYs4P/+7/94//33C33/P/74w6+jZ/fu3WiaFvB9JiYmBpfL5f35dOjQgSVLlpCVlcWZM2e8uTn+/PNPZs2axejRowP+HPXq1aNmzZp899133n12u52dO3d6pwO1a9eOrKwsv/nhu3fv9o5SEOJSSDBehXz11VecOXOGYcOG0aRJE7+vfv368cEHH3gfIO+++27efPNNNm7cyKFDh0hKSmLixInExMR4h7OHhYXx9NNP8+233zJ27Fi2bdvGkSNH+OWXX3j55ZeZOHHiRdXvuuuuo1GjRixatMjv+l9//TVTp05l7969HDt2jMTERMaNG0f79u258847S6UuQohLdzH3mgEDBrB27Vq++uorbr75Zu81IiIiuOeee3j++edZt24dBw8e5Ndff2XVqlWFPux5NGzYkO3bt7Nz507279/P7NmzOXLkiPd4eHg4gwcP5oUXXmD79u3s27eP6dOno2mat7fjiiuuYMCAAUydOpVPPvmEw4cP8/PPP7Ns2TI+++yzIt//xIkTzJkzh7/++otPPvmEZcuWFdjj7evee+8lKSmJGTNmsHfvXg4ePMh//vMfZsyY4f153Hnnnbz44ousX7/ee19+7733CrzeBx98wNq1a/n99985fPgwH3zwAWazucCeorCwMG6//XZeeOEFvv76a/bv38+TTz7J6dOnGT58eJH1FqKy8yxfNmTIED7++GP++usv9u/fz3vvvee9ZzVo0ABN01ixYgWHDx9m8+bN+ZI2FuTKK6+kS5cuzJw5k927d/Prr78yZcqUEhl9k1cg99SbbrqJ6tWr88ADD7Bz504OHz7Mli1b2LFjR4HXfPrpp9m6dSuHDx/m119/5ZtvvqFRo0YFlh0wYAChoaE89thj/P777/zwww/MmDGDf/zjHwH3YBsMBnr27Mm7774LwOOPP87+/ftp3749PXr04JprruHo0aOMGTOGkSNH+q0jnpmZya+//sqvv/6KpmkcO3aMX3/9lWPHjgHuxo0777yTN998k88++4w//viDKVOmEBYWxk033QS4GxR8/712797NzJkz6d69O1deeWVg/xBC5CHD1KuQdevWcd111xETE5PvWN++fZk/fz7btm2jc+fOjBkzhrCwMJYuXcqR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dnY2iqIAEBYWRocOHQgJCSnTOgshKq6oqCiuvvpqduzYAbh7xXv06MF9993HW2+9xdtvv82PP/7oHYFTkN9++40vvviC5cuX88ILL3iHsQN069aNZcuWsWLFCho2bMimTZto1aoVnTt35sEHH2TFihXUq1fPW95utzNnzhxmz57NO++8g6qq/Pvf//Yej46OJiEhgUGDBhU7FL4g0jMuhBBCCCEKlJqaSu3atb3bNpuNpKSkfOXeffddEhIScDqdrFixoiyrKIQoJSHvv0/oJQSYRckZPhz7rbcWWaZXr1588cUXdOnShS+++IKpU6eyZcsWPvzwQ1RV5fTp0yQnJ/uN0PH1008/0bVrV0JDQwHo3Lmz99hff/3FkiVLyMjIIDs7m44dOxZZl0OHDhEXF0f9+vUB6Nu3L+vXr+fW3M/w97//HYCmTZvy9ddfB/Qz8CXBuBBCCCGEuCwjRoxgxIgRbNq0iUWLFjF37txLuo7RaKR69epFlgl1hJKanUpETESR5YSoTJyqE6PJSPWoon8/KoMuXbrwyiuv8Pvvv2O324mKimLVqlUsXbqUqKgonn76aex2+yVde86cOTz77LM0btyYxMREdu/efVl1NZvNABgMBlRVvejzSzUY37p1K3PmzEHTNIYNG8bYsWP9jh87dozHHnuM9PR0VFVl4sSJdOvWDYfDwcyZM9mzZw+KovD4449z3XXXlWZVhRBCCCFEHjabjZSUFO92amoqNput0PL9+/fnySefvOT38/R6FSXLmYXL7OJM5plLfh8hKhqn5qRGbI1ifz/i4uJK7D3tt95abC92aQgLC+Oaa67hmWeeoVevXmRmZmK1WomIiCAtLY0dO3bQrl27Qs9v27Ytc+bM4c4778TlcrFt2zZuueUWALKysqhRowYul4vPPvuMmjVret8zKysr37Xq169PSkoKR44coV69enzyySdFvvfFKrU5456EH0uXLiUxMZHNmzfnG9u/aNEi+vbty4YNG3jppZeYNWsWAGvXrgVg06ZNJCQkMHfuXDRNK62qCiGEEEKIArRq1Yrk5GQOHz6Mw+EgMTGRHj16+JXxzUD81VdfXXQCIyGEyKt3797s27eP3r1707hxYxo3bszw4cN58sknadWqVZHnNm3alJ49ezJq1CgmTpxI8+bNvcfuvfde7r33Xu6//36/e1WvXr147733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AweUnp6uwMBAvfjii+65t27d0rx581RYWKgBAwbo0Tvc5eTkaOvWraqoqFD//v2VlpYmu92ugQMHasaMGdq/f79atWqlzMxMdezY0WNNeXl5Wr58uSTJZrMpKytLH330kX7//Xe9+uqriouL06hRozR//nz9/fffkqT3339fgwYNqjJu+vTpWrVqlfLy8lReXq5p06bptddeU1FRkd59913duXNHLpdLS5cu1eDBgz3WsWrVKv3000+y2+0aNmyYFixYoIyMDLVu3Vrjxo1TUlKSe+yFCxe0d+9eBQYGKi0tTX/++ackKTU11eM9A+B95Bw5B/gyMo6Mg8UZNEtXr141oaGh5uzZs8YYY5KTk012drYxxpgFCxaYH374wdy7d89ERkaa/Px8U1lZaZKTk01SUpIxxphly5aZjIwMY4wx+/fvNyEhIaa4uNhcvHjRzJw505SXlxtjjElLSzNff/21McaYkJAQs2/fPmOMMStXrjSffvpplXXNnDnTHD9+3BhjzJ07d0xFRYX5+eef3a9rjDF379419+7dM8YYk5+fb+Li4owxpsq4zz//3P0a9+/fN3FxcebKlStm48aNJjMz0xhjzIMHD0xpaanHGm7evGliYmJMZWWlMcaYkpISY4wxH3/8sdmwYYPH2KysLJOcnGyMMWbu3Lnm2LFjxhhjCgoKzOjRo2v/EAA0KHKOnAN8GRlHxgH8ZbwZ6969u0JDQyVJffv2VUFBgcf+S5cuqXv37nruueckSePHj9eOHTskSceOHdMnn3wiSRo+fLjatWsnSTpy5IhOnz6tSZMmSZLu3bun4OBgSVKLFi00YsQISVK/fv106NChKmsaNGiQVqxYodjYWMXExKhNmzZVxjx48EBOp1O//fab/Pz8dPny5WqP79ChQzp//rx2794tSSotLdUff/yhsLAwpaam6sGDBxo1apT7PXgoKChILVu2VGpqqkaMGKHhw4dX+/wnTpzQjh07tG3bNknS4cOHdfHiRff+O3fuqKysrNpjAOAd5Bw5B/gyMo6Mg7XRjDdjAQEB7p/tdrvu37//Pz+nMUZxcXGaN29elX0tWrSQzWaTJPn5+cnlclUZk5SUpKioKOXm5mrKlCnasGFDlTGbN29Wx44dlZOTo8rKSr3wwgs1rmXx4sWKiIiosi8rK0u5ublKSUlRYmKix/eH/P39tXPnTh05ckQ//vijsrKy9Nlnn3nMLyoq0qJFi7R27Vp3QFdWVmrHjh1q2bJlzW8QAK8i58g5wJeRcWQcrI0LuPmwnj17qqCgQFeuXJEk7dq1y71vyJAh7qtd5ubmqqSkRJIUHh6u3bt3q7i4WJJ0+/btKr+lrc2VK1fUp08fJSUlKSwsTPn5+WrTpo3KysrcY0pLS9WpUyf5+fkpJyfH/Q/B4+OGDRum7du3q6KiQpKUn5+vu3fvqqCgQB07dtTkyZOVkJCgM2fOeKyhrKxMpaWlioqKUmpqqs6fP++xv6KiQrNnz9Z7772n559/3uP1tm7d6n587ty5Oh83gMZBzpFzgC8j48g4+Db+Mu7DWrZsKafTqaSkJPdFPx4G5DvvvKN58+Zp7NixGjhwoLp27SpJ6tWrl+bMmaM333xTlZWVatGihZYsWaJu3brV6TW3bNmio0ePymazqXfv3oqMjJTNZpOfn5/Gjx+v+Ph4TZ06VbNmzVJ2drYiIiLUunVrSVKfPn08xs2YMUMFBQWKj4+XMUbt27dXZmam8vLytHHjRvn7+6t169ZauXKlxxrKysr09ttvu3+7nJKS4rH/1KlTOn36tDIyMpSRkSFJWr9+vRYtWiSn06nY2Fi5XC4NHjxYTqez/h8AgAZHzpFzgC8j48g4+DabMY9cehEAAAAAADQ4TlMHAAAAAMDLaMYBAAAAAPAymnEAAAAAALyMZhwAAAAAAC+jGQcAAAAAwMtoxgEAAAAA8DKacQAAAAAAvIxmHAAAAAAAL/s/6uDCc1TK7UYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1080x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+MAAAEoCAYAAAAzNCCOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAADAXElEQVR4nOzdd2AU1fbA8e9sSyeNZBMgEJQqXRBEmoA8lKLUpwJWEEV5j2cHRFQUO/5EUXwIgoqAUkQBOxYUsT1QBBUFCQkloSSkbZ+Z3x+bLFlSgSSbcj4+XrKzd2bvLmQyZ8695yq6rusIIYQQQgghhBCi2hgC3QEhhBBCCCGEEKK+kWBcCCGEEEIIIYSoZhKMCyGEEEIIIYQQ1UyCcSGEEEIIIYQQoppJMC6EEEIIIYQQQlQzCcaFEEIIIYQQQohqJsG4EEIIUQe0bt2ajz76qEJtp0+fzq233lrFPRJCnI1hw4bx4osvBrobxaxbt44uXbpUuP2ZnJOEqK8UWWe8ftq9ezdjxoyhU6dOrFq1yu+5gwcPMnDgQNasWUOHDh38nrvuuuto2bIls2fP9m37/fff+e9//8uPP/5IdnY2iYmJdO3alZtuuonWrVuX+PrTp0/n3XffBcBoNBIfH0+/fv246667iIyM9Gv7yy+/sHDhQrZv347NZqNJkyYMGzaMW265haCgIL+2Z9MXIUTVKetcIyrXsWPHiIyMxGKxlNs2NzcXXddp0KBBNfRMiNrt+PHjvPLKK3z55Zekp6cTHR1N69atue666+jXr1+lv96wYcMYPHgw//rXv0p8ft26dcyYMcP3OC4ujq5du3LPPfeQlJRU6f0p5HA4yM/PJzY2tkLtz+ScdKbcbjfvvfceH374IX/99Rdut5vGjRvTv39/rrvuumLnth9//JElS5awe/dujh49yhNPPMGoUaP82ui6zoIFC3j77bfJycmhU6dOzJ49m5YtW/raZGdn89hjj/H5558DMGDAAB588EE5l4qzJpnxemr16tWMGzeOv/76i3379p31cb744gvGjh2LzWbj6aef5sMPP+S5554jLi6OefPmlbnvJZdcwjfffMPnn3/OY489xhdffMEjjzzi12bz5s2MHz+e6Oholi5dyscff8zUqVN5++23ufnmm3G5XJXSFyFE1aisc01Fud3uKn+Nylb0PHYu4uLiKnzRGxERIRePQlTAwYMHGTlyJN988w133XUX77//PsuWLePSSy/loYceOuvjapqGqqpnvX9ISAjffPMNX3/9Nc8++yx//PEHt99+e6nHrIxzY3BwcIUDcTizc9KZOHjwIGPGjGHZsmX079+f5557jmXLlnHrrbeyZ88errjiCnbs2OG3j81mo1WrVjzwwAMEBweXeNxXX32V1157jQcffJA1a9YQExPDTTfdRF5enq/N3XffzW+//cbixYtZvHgxv/32G/fdd1+lv0dRj+ii3rHb7XrXrl31P/74Q58xY4b+5JNP+j2flpamt2rVSt+5c2exfSdMmKA/8sgjuq7rus1m03v06KHfeuutJb5OdnZ2qX24//779cmTJ/tte+KJJ/Tu3bv7Hhcef8qUKcX237Vrl966dWv91VdfPee+CCGqRlnnmrvuukufOnWqX3tVVfW+ffvqr732mq7ruq5pmr5o0SJ94MCBeocOHfRhw4bp69ev97UvPFdt2LBBv+666/QOHTrob775pp6Zmanfeeedep8+ffQOHTroQ4YM0desWeP3Wvn5+fq9996rd+7cWe/Zs6f+yiuv6JMnT9bvv/9+Xxun06k//fTTep8+ffSOHTvqo0aN0rds2VLme54wYYL+4IMP6o8++qjerVs3vVu3bvqTTz6pq6rqa9O/f3/9hRde0KdPn6537dpV/9e//qXruq7/73//08ePH6937NhR7927tz579mw9NzfXt5+mafqSJUv0QYMG6e3atdP79OmjP/vss77nW7VqpX/44Ye+xy+++KJ+6aWX6u3atdMvueQS/d577/U9d/o52Ol06o899pjes2dPvX379vrYsWP1H3/80ff8d999p7dq1Ur/9ttv9TFjxugdO3bUR44cqe/atavMz0OI2m7SpEl679699by8vGLPFb22eO211/Rhw4bpnTp10nv37q3PnDnT7/m1a9fqnTt31r/88kt96NChetu2bfU9e/box48f12+77Ta9Q4cO+qWXXqqvXr1aHzp0qP7CCy+U2qfCYxX13nvv6a1atdL37dvn+3n98ssv9dGjR+vt2rXTP//883LPqbqu6+np6fpdd92ld+/eXe/YsaN+5ZVX6tu2bSvxdQ8fPqzfdttt+kUXXaR37NhRHzx4sL5x40bf86efk/744w/9hhtu0Dt06KBfdNFF+v3336/n5OT4ni88Ly1btkzv3bu33q1bN3369Om6zWbztcnNzdX/8Y9/6PPmzdM1TSvx8/nss8/0Sy65RM/IyCjx+c6dO+tr167126Zpmt6rVy/95Zdf9m2z2+16586d9ZUrV+q6rut79+7VW7Vqpf/000++Nj/++KPvcxfibEhmvB766KOPaNSoEa1bt+aqq65i/fr1Z3XH9JtvviErK4vJkyeX+PyZZF3S0tL4+uuvMZlMxY4/adKkYu3btWtHz5492bhxY6X3RQhROco611x55ZV8+eWX5Obm+tr/8MMPHDt2jKFDhwLw/PPPs2bNGmbPns2mTZuYPHkyDz30EF9++aXf6zz33HOMGzeOTZs2cdlll+Fyubjgggv473//y6ZNm7j++ut56KGH2LZtm2+fJ598kh9//JEFCxbw+uuv88cff/DTTz/5HXfGjBn8+OOPzJs3j40bNzJy5EimTJnCH3/8Ueb73rBhA7qus2rVKh555BHeeecdXn/9db82S5cu5bzzzmPt2rXcdddd7Nmzh4kTJzJgwADee+89FixYwB9//MHMmTP93ufLL7/M5MmT2bRpE/PnzychIaHEPnz88ce89tprPPTQQ3zyySe88sordOzYsdQ+F44mevzxx1m/fj2tWrXilltu4ejRo37t5s2bx9133826deuIjo7mnnvuQZfZbqKOOnnyJF9//TXjx48nLCys2PNFry0URWHmzJls3LiRefPmsXPnTh599FG/9k6nk5dffplHHnmETZs20ahRI6ZPn05qaipLly7lpZde4r333uPQoUNn3NfCbK/H4/Fte/bZZ/nPf/7Dhx9+SKdOnco9p9psNq677joOHTrESy+9xIYNG7jjjjtKfc1HHnkEh8PBG2+8wcaNG5k5cyYREREltrXZbEycOJHQ0FBWr17NggUL2LFjh985DuCnn37ir7/+YtmyZfzf//0fn376KW+88Ybv+cWLF9O2bVvuuusu8vPzmT59Or1792bkyJGsW7eOoUOHMnDgQMaOHcvLL79c4c/v4MGDHDt2jF69evl9phdddJEvy75jxw5CQ0O58MILfW26du1KaGhosUy8EBVlKr+JqGvWrl3LVVddBUD37t0JCQlh8+bNXH755Wd0nJSUFADOP//8s+rH119/TZcuXVBVFafTCeA3B2r//v1lHv/8889n9erVldIXIUTlK+tc06tXLyIiIvjoo48YO3Ys4A1iL774YuLj47HZbCxdupTXXnuNbt26AZCUlMTOnTt56623uPTSS32vM2HChGLnr6I38a6++mq+++47Nm7cSM+ePcnPz2fdunU89dRTvguvuXPn+s39TE1NZdOmTXz++ec0atTI9zrffvstq1at4uGHHy71fcfHxzNr1iwUReH8888nJSWFpUuXctNNN/nadO/enVtuucX3+L777uOKK67g5ptv9m17+OGHGTFiBCdOnCA4OJhly5Yxc+ZMxowZA0CzZs1KLaZ0+PBh4uLi6NWrF2azmUaNGhWrAVLIZrOxatUqHnvsMd/n+sgjj/Ddd9/x1ltvceedd/raTps2jYsvvhiA22+/nXHjxpGRkVHqTQEharPU1FR0Xa/QtcWNN97o+75Jkybce++93H777Tz11FMYDN7cl6qqPPjgg7Rv3x7wXuds2bKFFStW0LVrV8B7o/Cyyy47o36mp6ezZMkSEhISSE5OJisrC4CpU6fSu3dvgAqdUzdu3MixY8dYtWoVMTExADRt2rTU1z106BCDBw+mTZs2vuOVZuPGjdjtdp5++mnCw8MBmDNnDtdffz0HDhygWbNmAISHh/PII49gNBo5//zzufzyy9m2bZuv4OT69etZtGiR77Pat28fL7zwAg6Hg0ceecR3w3fUqFGMGzeuzHN1UceOHQOgYcOGfttjY2N9NyWPHz9OTEwMiqL4nlcUhZiYGI4fP16h1xHidBKM1zMHDhzgf//7H88++yzgPYkMHz6cNWvWnHEwfq7ZkG7duvHoo4/icDhYvXo1qampXHfddWd1LMnMCFGzlHeuMZlMDBkyhA0bNjB27FhcLheffPIJDzzwAAB79+7F6XQyadIkvwufwiI9RRVe2BZSVZVFixbxwQcfcPToUVwuF263m+7duwPekThut9svUxwaGupXpGf37t3ouu7L0hdyuVy+YLQ0nTp18utzly5dmD9/Pnl5eb6L0NP7vHv3bg4cOMCHH37o21Z4XktNTcVoNOJyuejZs2eZr13o8ssv54033mDgwIH07t2bPn36MHDgwBLnb6ampuJ2u/2yPUajkc6dOxeb51+0EGZ8fDwAJ06ckGBc1Elncm2xbds2Fi1axL59+8jNzUXTNNxuN8eOHcNqtQJgMplo27atb599+/ZhMBj8zkWNGzf2/WyVxWaz0aVLF3Rdx263065dO1588UW/n/Gi55mKnFN/++03Wrdu7QvEy3P99dfz8MMP8/XXX3PxxRczaNCgYue2ou+1devWvnMgeM+NBoOBvXv3+oLxFi1aYDQafW3i4+P55ZdfAG/xtNzcXFq1agV46wotWLDAd+66/fbbmT9/PuCdr37y5MkKvQ8hAkmC8Xpm9erVqKpK//79fdsKf9kcOXKExMRE34myaMGKQjk5Ob4hSM2bNwe8J9iiF3EVFRIS4jv5zpo1i+uuu46XX37ZVz208Ph79+713TEuat++fSQnJ1dKX4QQlasi55orr7ySq6++moyMDH755RfcbjeDBg3ya7tw4UJfZrpQ0eks4D2XFLVkyRKWLl3KzJkzad26NaGhoTz33HNkZmZWuP+6rqMoCmvWrCn2eqUV/zkTp/dZ0zTGjh3rl10rZLVa+fPPP8/o+ImJiXz00Uds27aNb7/9lqeeeoqXXnqJd955h9DQ0Aofp+hFO/h/9oXPaZp2Rn0TorZo1qwZiqKwb98+37mpJIcOHeLWW2/ln//8J//+97+Jiorit99+46677vKbBmixWPwCzUKn/5xVREhICOvXr8dgMBAbG1viz3XR88yZnFMrauzYsfTp04evvvqKb7/9lmuuuYZbb7211CrwpSn6/k/vi6Iovr57PB6/mw1ut9vvfRedSrB7927fNWZFxMXFAd7sd9HP58SJE75secOGDcnMzPT9fgDv55qZmVksoy5ERcmc8XrE4/Gwfv167r77btavX+/7895779G6dWvWrl0LQFRUFNHR0ezatctv/7y8PFJTU32Bb69evYiOjvYNFzpdTk7OGfVv6tSpvPrqq2RkZPiOHxUVxZIlS4q13b17N9u2bWP48OFV0hchxNmr6LmmY8eONG3alI0bN7JhwwYGDhzou5g6//zzsVgsHD58mGbNmvn9OT0zfrrt27fTv39/RowYQdu2bWnatKlvKgt4h1KazWZ+/fVX3za73c5ff/3le9y2bVt0XefYsWPFXr8wy1WaX375xS+j9vPPPxMfH++XETrdBRdc4MsOnf4nODiY8847D4vF4jfvvTxBQUFceumlzJw5kzVr1vDXX3+xffv2Yu2aNm2K2Wz2e05VVX7++WeZ+iPqtaioKHr37s3y5cvJz88v9nzhtcWuXbtwu93MmDGDLl260Lx582L1Fkpy3nnnoWka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dju+++47LFy4EJWVlVAUBStWrAAAOJ1O3HHHHfjqq6/Qq1cvPP744xBC4PHHH0dpaSkURcGQIUMwb948g68CEcUytnNEFMvYxhFFGUkUggMHDshbbrlFejweKaWUCxculH//+9/lhRdeKDds2CCllPJ///d/5YMPPiillHLcuHHy448/llJKuXz5cvnwww9LKaWcOnWq3LJli5RSSpfLJZ1Op9yxY4e87LLL5JEjR6SmafKaa66RO3fulJWVlXL06NFS13UppZQnT56M6DkTUXxhO0dEsYxtHFH04TB1Csn27duxb98+TJ06FRMmTMD27dtx8OBBmEwmFBYWAgAmTJiATz/9FFVVVaiqqsKAAQMAAJMmTcKuXbtQXV2N8vJyjBo1CgCQkJAAm80GALj00kuRk5MDk8mEiy++GD/88ANSUlKQkJCABQsWYMuWLbBarcacPBHFBbZzRBTL2MYRRR8OU6eQSCkxadIk3H333Q22//nPf27wWAjRqte3WCzB3xVFgaZpUFUV69atw/bt2/H2229j7dq1eP7551v1+kRELWE7R0SxjG0cUfRhzziFZNCgQdi8eTMqKioAACdOnMAPP/wAXdexefNmAMDGjRvx85//HCkpKUhNTcWuXbsA+OcnXXHFFUhOTkZOTg7eeecdAIDH40FtbW2T71lTU4OqqioMHz4cCxYswL///e8wnyURxTO2c0QUy9jGEUUf9oxTSLp3744777wTM2fOhK7rMJvNKCoqQmJiIvbu3YuVK1ciIyMDy5cvBwA89thjwaIf+fn5ePTRRwEAS5cuRVFREVasWAGz2Rws+tGYmpoa3HbbbXC73QCA++67L+znSUTxi+0cEcUytnFE0UdIKaXRQVD71b9/f+zevdvoMIiIwobtHBHFMrZxRMbhMHUiIiIiIiKiCGPPOBEREREREVGEsWeciIiIiIiIKMKYjBMRERERERFFGJNxIiIiIiIioghjMk5EREREREQUYUzGiYiIiIiIiCKMyTgRERERERFRhP3/muAhdtJ2VqEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1080x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "parameters_dict=dict(performances_df_lstm['Parameters'])\n",
    "performances_df_lstm['Parameters summary']=[str(parameters_dict[i]['clf__max_epochs'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__module__hidden_size_lstm'])\n",
    "                                   for i in range(len(parameters_dict))]\n",
    "\n",
    "performances_df_lstm_subset = performances_df_lstm[performances_df_lstm['Parameters'].apply(lambda x:x['clf__lr']== 0.0001 and x['clf__batch_size']==128 and x['clf__max_epochs']==10 and x['clf__module__p']==0.2).values]\n",
    "summary_performances_lstm_subset=get_summary_performances(performances_df_lstm_subset, parameter_column_name=\"Parameters summary\")\n",
    "indexes_summary = summary_performances_lstm_subset.index.values\n",
    "indexes_summary[0] = 'Best estimated parameters'\n",
    "summary_performances_lstm_subset.rename(index = dict(zip(np.arange(len(indexes_summary)),indexes_summary)))\n",
    "get_performances_plots(performances_df_lstm_subset, \n",
    "                       performance_metrics_list=['AUC ROC', 'Average precision', 'Card Precision@100'], \n",
    "                       expe_type_list=['Test','Validation'], expe_type_color_list=['#008000','#FF0000'],\n",
    "                       parameter_name=\"hidden states size\",\n",
    "                       summary_performances=summary_performances_lstm_subset)\n",
    "\n",
    "performances_df_lstm_subset = performances_df_lstm[performances_df_lstm['Parameters'].apply(lambda x:x['clf__lr']== 0.0001 and x['clf__batch_size']==128 and x['clf__module__hidden_size_lstm']==100 and x['clf__module__p']==0.2).values]\n",
    "summary_performances_lstm_subset=get_summary_performances(performances_df_lstm_subset, parameter_column_name=\"Parameters summary\")\n",
    "indexes_summary = summary_performances_lstm_subset.index.values\n",
    "indexes_summary[0] = 'Best estimated parameters'\n",
    "summary_performances_lstm_subset.rename(index = dict(zip(np.arange(len(indexes_summary)),indexes_summary)))\n",
    "get_performances_plots(performances_df_lstm_subset, \n",
    "                       performance_metrics_list=['AUC ROC', 'Average precision', 'Card Precision@100'], \n",
    "                       expe_type_list=['Test','Validation'], expe_type_color_list=['#008000','#FF0000'],\n",
    "                       parameter_name=\"epochs\",\n",
    "                       summary_performances=summary_performances_lstm_subset)\n",
    "\n",
    "parameters_dict=dict(performances_df_lstm['Parameters'])\n",
    "performances_df_lstm['Parameters summary']=[str(parameters_dict[i]['clf__max_epochs'])+\n",
    "                                   '/'+\n",
    "                                    str(parameters_dict[i]['clf__batch_size'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__module__hidden_size_lstm'])+\n",
    "                                   '/'+                           \n",
    "                                   str(parameters_dict[i]['clf__module__p'])\n",
    "                                   for i in range(len(parameters_dict))]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "706d2d2a",
   "metadata": {},
   "source": [
    "Recall here that the grid search is not exhaustive, and from the plots, it appears that the average precision could have been further improved."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "501c9d55",
   "metadata": {},
   "source": [
    "### Grid search on the LSTM with Attention\n",
    "\n",
    "For the LSTM with Attention, we apply the exact same process as for the LSTM."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "63fd6f46",
   "metadata": {},
   "outputs": [],
   "source": [
    "class FraudLSTMWithAttention(torch.nn.Module):\n",
    "    \n",
    "    def __init__(self, num_features,hidden_size = 100, hidden_size_lstm = 100, num_layers_lstm = 1,p = 0):\n",
    "        super(FraudLSTMWithAttention, self).__init__()\n",
    "        # parameters\n",
    "        self.num_features = num_features\n",
    "        self.hidden_size = hidden_size\n",
    "        \n",
    "        # representation learning part\n",
    "        self.lstm = torch.nn.LSTM(self.num_features, hidden_size_lstm, num_layers_lstm, batch_first = True, dropout = p)\n",
    "            \n",
    "        # last sequence represenation\n",
    "        self.ff = torch.nn.Linear(self.num_features,hidden_size_lstm)\n",
    "        \n",
    "        attention_out_dim = hidden_size_lstm\n",
    "        \n",
    "        # attention layer\n",
    "        self.attention = Attention(attention_out_dim)                        \n",
    "       \n",
    "        #representation to hidden\n",
    "        self.fc1 = torch.nn.Linear(hidden_size_lstm, self.hidden_size)\n",
    "        self.relu = torch.nn.ReLU()\n",
    "        \n",
    "        #hidden to output\n",
    "        self.fc2 = torch.nn.Linear(self.hidden_size, 2)\n",
    "        self.softmax = torch.nn.Softmax()\n",
    "        \n",
    "        self.dropout = torch.nn.Dropout(p)\n",
    "        \n",
    "    def forward(self, x):\n",
    "        \n",
    "        representation_seq, _ = self.lstm(x.transpose(1,2))\n",
    "        \n",
    "        representation_last = self.ff(x[:,:,-1:].transpose(1,2))\n",
    "        \n",
    "        representation, attn = self.attention(representation_last,representation_seq)\n",
    "\n",
    "                    \n",
    "        hidden = self.fc1(representation[:,0,:])\n",
    "        relu = self.relu(hidden)\n",
    "        relu = self.dropout(relu)\n",
    "        \n",
    "        output = self.fc2(relu)\n",
    "        output = self.softmax(output)\n",
    "        \n",
    "        return output"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "7f524de6",
   "metadata": {},
   "outputs": [],
   "source": [
    "seed_everything(42)\n",
    "classifier = NeuralNetClassifier(\n",
    "    FraudLSTMWithAttention,\n",
    "    max_epochs=2,\n",
    "    lr=0.001,\n",
    "    optimizer=torch.optim.Adam,\n",
    "    batch_size=64,\n",
    "    dataset=FraudSequenceDatasetForPipe,\n",
    "    iterator_train__shuffle=True,\n",
    ")\n",
    "classifier.set_params(train_split=False, verbose=0)\n",
    "\n",
    "parameters = {\n",
    "    'clf__lr': [0.0001,0.0002,0.001],\n",
    "    'clf__batch_size': [64,128,256],\n",
    "    'clf__max_epochs': [5,10,20],\n",
    "    'clf__module__hidden_size': [500],\n",
    "    'clf__module__p': [0,0.2,0.4],\n",
    "    'clf__module__num_features': [int(len(input_features))],\n",
    "    'clf__module__hidden_size_lstm': [100,200],\n",
    "}\n",
    "\n",
    "start_time=time.time()\n",
    "\n",
    "#these will get normalized but it should still work\n",
    "input_features_new = input_features + ['CUSTOMER_ID','TX_DATETIME_TIMESTAMP']\n",
    "\n",
    "performances_df=model_selection_wrapper(transactions_df, classifier, \n",
    "                                        input_features_new, output_feature,\n",
    "                                        parameters, scoring, \n",
    "                                        start_date_training_for_valid,\n",
    "                                        start_date_training_for_test,\n",
    "                                        n_folds=n_folds,\n",
    "                                        delta_train=delta_train, \n",
    "                                        delta_delay=delta_delay, \n",
    "                                        delta_assessment=delta_assessment,\n",
    "                                        performance_metrics_list_grid=performance_metrics_list_grid,\n",
    "                                        performance_metrics_list=performance_metrics_list,\n",
    "                                        n_jobs=10)\n",
    "\n",
    "execution_time_lstm_attn = time.time()-start_time\n",
    "\n",
    "parameters_dict=dict(performances_df['Parameters'])\n",
    "performances_df['Parameters summary']=[str(parameters_dict[i]['clf__max_epochs'])+\n",
    "                                   '/'+\n",
    "                                    str(parameters_dict[i]['clf__batch_size'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__module__hidden_size_lstm'])+\n",
    "                                   '/'+                           \n",
    "                                   str(parameters_dict[i]['clf__module__p'])\n",
    "                                   for i in range(len(parameters_dict))]\n",
    "\n",
    "# Rename to performances_df_lstm for model performance comparison at the end of this notebook\n",
    "performances_df_lstm_attn=performances_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "d4dfd98e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "16735.779472112656\n"
     ]
    }
   ],
   "source": [
    "print(execution_time_lstm_attn)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "id": "27de2e2c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AUC ROC</th>\n",
       "      <th>Average precision</th>\n",
       "      <th>Card Precision@100</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Best estimated parameters</th>\n",
       "      <td>10/64/100/0.2</td>\n",
       "      <td>10/64/200/0.2</td>\n",
       "      <td>20/256/200/0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Validation performance</th>\n",
       "      <td>0.886+/-0.02</td>\n",
       "      <td>0.69+/-0.01</td>\n",
       "      <td>0.287+/-0.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Test performance</th>\n",
       "      <td>0.874+/-0.02</td>\n",
       "      <td>0.667+/-0.01</td>\n",
       "      <td>0.295+/-0.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Optimal parameter(s)</th>\n",
       "      <td>5/256/200/0.4</td>\n",
       "      <td>10/64/200/0</td>\n",
       "      <td>10/64/200/0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Optimal test performance</th>\n",
       "      <td>0.879+/-0.02</td>\n",
       "      <td>0.676+/-0.02</td>\n",
       "      <td>0.303+/-0.01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                 AUC ROC Average precision Card Precision@100\n",
       "Best estimated parameters  10/64/100/0.2     10/64/200/0.2     20/256/200/0.2\n",
       "Validation performance      0.886+/-0.02       0.69+/-0.01       0.287+/-0.02\n",
       "Test performance            0.874+/-0.02      0.667+/-0.01       0.295+/-0.01\n",
       "Optimal parameter(s)       5/256/200/0.4       10/64/200/0        10/64/200/0\n",
       "Optimal test performance    0.879+/-0.02      0.676+/-0.02       0.303+/-0.01"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "summary_performances_lstm_attn=get_summary_performances(performances_df_lstm_attn, parameter_column_name=\"Parameters summary\")\n",
    "summary_performances_lstm_attn"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6440915e",
   "metadata": {},
   "source": [
    "The LSTM with Attention has a performance that is only slightly better than the regular LSTM. Although Attention is a mechanism that significantly impacts many applications such as NLP, its interest can be limited on such sequences that are rather short and on such a model that only has a single recurrent layer."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "id": "a33756e7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+MAAAEoCAYAAAAzNCCOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAACZTUlEQVR4nOzdd2AU1drH8e9sS4U0ISBSVKp0QdBLU8pFQJR6UVBRQWx4sSACIggKFsQrisJFEFRUlPKiEDtcxYIKgkSKCkgoIqEkQEjZMnPePza72U3dxCSb8nx882Zn5uzs2Vwy2d+cpimlFEIIIYQQQgghhCg3pmBXQAghhBBCCCGEqG4kjAshhBBCCCGEEOVMwrgQQgghhBBCCFHOJIwLIYQQQgghhBDlTMK4EEIIIYQQQghRziSMCyGEEEIIIYQQ5UzCuBBCCFEFNGvWjE8++SSgspMnT+auu+4q4xoJIUriuuuu4+WXXw52NfJYu3Yt7du3D7h8ca5JQlRXmqwzXj3t3r2bYcOG0bZtW1auXOl37OjRo/Tq1YvVq1fTunVrv2O33HILTZo0Yfr06d59e/fu5b///S9bt27l7Nmz1K1blw4dOnD77bfTrFmzfF9/8uTJ/N///R8AZrOZ2rVr06NHDx566CGioqL8yu7cuZOFCxeyfft2MjIyuOiii7juuuu48847CQkJ8StbkroIIcpOYdcaUbpOnjxJVFQUNputyLJpaWkopahZs2Y51EyIyu3UqVMsWrSIL7/8kuPHjxMTE0OzZs245ZZb6NGjR6m/3nXXXUffvn25//778z2+du1apkyZ4t2uVasWHTp0YOLEidSvX7/U6+ORlZVFeno6cXFxAZUvzjWpuJxOJx988AEff/wx+/btw+l0Uq9ePa655hpuueWWPNe2rVu3snTpUnbv3s2JEyd4+umnGTJkiF8ZpRQLFizgvffe49y5c7Rt25bp06fTpEkTb5mzZ8/y1FNPsWnTJgB69uzJ448/LtdSUWLSMl5NrVq1ipEjR7Jv3z4OHDhQ4vP873//Y/jw4WRkZPDcc8/x8ccf88ILL1CrVi3mzZtX6HP/8Y9/8M0337Bp0yaeeuop/ve//zFz5ky/Mhs3bmTUqFHExMSwbNkyPv30U8aPH897773HHXfcgcPhKJW6CCHKRmldawLldDrL/DVKm+917O+oVatWwB96a9SoIR8ehQjA0aNHGTx4MN988w0PPfQQH374IcuXL+fqq69mxowZJT6vYRjoul7i54eFhfHNN9/w9ddf8/zzz/Prr79y7733FnjO0rg2hoaGBhzEoXjXpOI4evQow4YNY/ny5VxzzTW88MILLF++nLvuuovffvuNfv36sWPHDr/nZGRk0LRpUx577DFCQ0PzPe9rr73G66+/zuOPP87q1auJjY3l9ttv5/z5894yDz/8MHv27GHJkiUsWbKEPXv2MGnSpFJ/j6IaUaLayczMVB06dFC//vqrmjJlinrmmWf8jh85ckQ1bdpUJSYm5nnuzTffrGbOnKmUUiojI0N17txZ3XXXXfm+ztmzZwusw6OPPqrGjRvnt+/pp59WnTp18m57zn/PPffkef6uXbtUs2bN1Guvvfa36yKEKBuFXWseeughNX78eL/yuq6r7t27q9dff10ppZRhGGrx4sWqV69eqnXr1uq6665T69at85b3XKvWr1+vbrnlFtW6dWv11ltvqZSUFPXggw+qbt26qdatW6v+/fur1atX+71Wenq6euSRR1S7du3UVVddpRYtWqTGjRunHn30UW8Zu92unnvuOdWtWzfVpk0bNWTIELV58+ZC3/PNN9+sHn/8cfXkk0+qjh07qo4dO6pnnnlG6bruLXPNNdeol156SU2ePFl16NBB3X///UoppX766Sc1atQo1aZNG9W1a1c1ffp0lZaW5n2eYRhq6dKlqk+fPqply5aqW7du6vnnn/ceb9q0qfr444+92y+//LK6+uqrVcuWLdU//vEP9cgjj3iP5b4G2+129dRTT6mrrrpKtWrVSg0fPlxt3brVe/z7779XTZs2Vd99950aNmyYatOmjRo8eLDatWtXoT8PISq7sWPHqq5du6rz58/nOeb72eL1119X1113nWrbtq3q2rWrmjp1qt/xNWvWqHbt2qkvv/xSDRgwQLVo0UL99ttv6tSpU+ruu+9WrVu3VldffbVatWqVGjBggHrppZcKrJPnXL4++OAD1bRpU3XgwAHv7+uXX36phg4dqlq2bKk2bdpU5DVVKaWOHz+uHnroIdWpUyfVpk0bdf3116stW7bk+7rHjh1Td999t7riiitUmzZtVN++fdWGDRu8x3Nfk3799Vc1evRo1bp1a3XFFVeoRx99VJ07d8573HNdWr58ueratavq2LGjmjx5ssrIyPCWSUtLU//85z/VvHnzlGEY+f58vvjiC/WPf/xDJScn53u8Xbt2as2aNX77DMNQXbp0Ua+++qp3X2ZmpmrXrp169913lVJK7d+/XzVt2lRt27bNW2br1q3en7sQJSEt49XQJ598woUXXkizZs244YYbWLduXYnumH7zzTekpqYybty4fI8Xp9XlyJEjfP3111gsljznHzt2bJ7yLVu25KqrrmLDhg2lXhchROko7Fpz/fXX8+WXX5KWluYt/+OPP3Ly5EkGDBgAwIsvvsjq1auZPn06CQkJjBs3jhkzZvDll1/6vc4LL7zAyJEjSUhIoHfv3jgcDi677DL++9//kpCQwK233sqMGTPYsmWL9znPPPMMW7duZcGCBbzxxhv8+uuvbNu2ze+8U6ZMYevWrcybN48NGzYwePBg7rnnHn799ddC3/f69etRSrFy5UpmzpzJ+++/zxtvvOFXZtmyZVxyySWsWbOGhx56iN9++40xY8bQs2dPPvjgAxYsWMCvv/7K1KlT/d7nq6++yrhx40hISGD+/PnUqVMn3zp8+umnvP7668yYMYPPPvuMRYsW0aZNmwLr7OlNNGfOHNatW0fTpk258847OXHihF+5efPm8fDDD7N27VpiYmKYOHEiSka7iSrqzJkzfP3114waNYqIiIg8x30/W2iaxtSpU9mwYQPz5s0jMTGRJ5980q+83W7n1VdfZebMmSQkJHDhhRcyefJkDh8+zLJly3jllVf44IMP+PPPP4tdV09rr8vl8u57/vnneeCBB/j4449p27ZtkdfUjIwMbrnlFv78809eeeUV1q9fz3333Vfga86cOZOsrCzefPNNNmzYwNSpU6lRo0a+ZTMyMhgzZgzh4eGsWrWKBQsWsGPHDr9rHMC2bdvYt28fy5cv5z//+Q+ff/45b775pvf4kiVLaNGiBQ899BDp6elMnjyZrl27MnjwYNauXcuAAQPo1asXw4cP59VXXw3453f06FFOnjxJly5d/H6mV1xxhbeVfceOHYSHh3P55Zd7y3To0IHw8PA8LfFCBMpSdBFR1axZs4YbbrgBgE6dOhEWFsbGjRu59tpri3WepKQkAC699NIS1ePrr7+mffv26LqO3W4H8BsDdfDgwULPf+mll7Jq1apSqYsQovQVdq3p0qULNWrU4JNPPmH48OGAO8ReeeWV1K5d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hg0bUr9+/YBusAVyTb3sssv47bffinXjsk6dOowYMYL58+fz73//m/fee6/A1//999/9Gnp27NiBYRgBX2diYmJwuVzen0/Hjh1ZvHgxGRkZpKameufm2LdvHzNnzmTMmDEBv4+LLrqIWrVq8d1333n32e12tm3b5h0O1L59ezIyMvzGh+/YscPbS0GIkpAwXo18+eWXpKamMnz4cJo2ber31b9/f9auXev9AHn77bfz2muv8cEHH3D48GESExOZOHEiMTEx3u7s4eHhPPXUU3zzzTeMGzeOb7/9lqNHj7J7925efPFFJk6cWKz6de7cmcaNG7Nw4UK/83/11VdMmTKFPXv2cOzYMRISErjnnnvo0KEDt956a5nURQhRcsW51gwcOJBVq1bx5Zdfcv3113vPERkZyR133MFzzz3H6tWrOXToEHv37uXdd98t8MOeR6NGjdiyZQvbtm3jwIEDzJo1i6NHj3qPR0REMGTIEJ5//nm2bNnC/v37mTZtGoZheFs7Lr74YgYOHMiUKVP45JNPOHLkCL/88gtLly7ls88+K/T1T5w4wezZs/njjz/45JNPWLp0ab4t3r7uvPNOEhMTmT59Onv27OHQoUP873//Y/r06d6fx6233soLL7zAmjVrvNfld955J9/zrV27llWrVvHbb79x5MgR1q5di9VqzbelKDw8nJtuuonnn3+er776igMHDvDEE09w+vRpRo4cWWi9hajqPMuXDR06lI8//pg//viDAwcO8M4773ivWQ0bNsQwDN544w2OHDnChg0b8kzamJ9LLrmEbt26MWPGDHbs2MHevXuZPHlyqfS+yS2Qa+p1111HXFwc9957L9u2bePIkSNs3LiR77//Pt9zPvXUU2zevJkjR46wd+9evv76axo3bpxv2YEDBxIaGsqjjz7Kb7/9xtatW5k+fTr//Oc/A27BNplM9OrVi7fffhuAxx57jAMHDtChQwd69uzJ5Zdfzp9//snYsWO5+eab/dYRT09PZ+/evezduxfDMDh27Bh79+7l2LFjgPvmxq233sprr73GZ599xu+//87kyZMJDw/nuuuuA9w3FHz/99qxYwczZszgmmuu4ZJLLgnsfwghcpFu6tXI6tWr6dy5MzExMXmO9evXj3nz5vHtt9/StWtXxo4dS3h4OEuWLOHo0aPUqFGDDh068Oabb/r9kejduzcrV65k8eLFPPLII5w7d446derQsWNHHnnkkWLX8fbbb2fKlCnceeed1KtXjz59+rBixQoWLVrE6NGjyczMpF69egwfPpxx48b5dVcq7boIIUqmONeaG264gZdffpm4uDi/WWwBHnjgAS644AJef/11nnjiCSIjI2nRokW+Kyz4uueeezh69Ch33nknoaGhDB48mIEDB/qNf3700UfJzMzknnvuITw8nNtuu41Tp075XVOefvppFi1axNy5c0lOTiYqKorWrVvTuXPnQl9/4MCBGIbBv/71LzRNY9iwYUWG8ebNm7NixQpefPFFbr75ZgzDoH79+n4TOT388MNERUXx6quvkpycTFxcHIMGDcr3fDVr1uS1117j2WefxeVycemll/Lyyy8XOMGS5xo5ZcoUzp07x2WXXcZrr70W0NhVIaqy+vXrs3btWv773//y/PPPk5ycTHR0NM2bN2fWrFmA+/f3scce47XXXuPFF1+kffv2TJo0yW/yw4I888wzTJs2jdGjRxMTE8P48eOL1TJdHEVdU8PDw1mxYgXPPPMMd999N06nk4svvthvcl1fSimeeuop/vrrLyIiIrjqqquYPHlyvmXDwsJYunQpc+bMYfjw4YSEhNCrVy/vPCGBuu+++xg2bBitW7emd+/efPjhh5w6dYrIyEgsFgu33HJLvl3Gd+3a5W3AAXj55Zd5+eWXGTx4MM888wzgvilqt9uZNWsWZ8+epW3btrz++ut+vZrmzZvHk08+6W1179mzp/emqRAloSmZ+UoIIUQ153A4uOaaaxgzZozfjObFdcstt9CkSRP5cCaEEGXk+++/Z8KECfTt25ebbrqJpk2bYjKZOHjwIG+//TanTp3yTuQmREUnLeNCCCGqnT179nDgwAHatGlDeno6r732Gunp6fTv3z/YVRNCCFGIK6+8knXr1vHqq69y2223ce7cOUwmE5GRkVx33XU8/vjjwa6iEAGTMC6EEKJaWrZsGQcPHsRisXi7icsSXUIIUfHVrVuXJ598kpkzZ5KSkoKu69SqVcu7prsQlYV0UxdCCCGEEEIIIcqZ3D4SQgghhBBCCCHKmYRxIYQQQgghhBCinEkYF0IIIYQQQgghypmEcSGEEEIIIYQQopxJGBdCCCGEEEIIIcqZhHEhhBBCCCGEEKKcSRgXQgghhBBCCCHKmYRxIYQQQggh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cnRd5/bbb/eG8R49enD99dcDsHjxYtavX8/w4cPp2rWrN3z7stvtzJ49m/nz59OgQQNvdh0xYgQAUVFRLFu2jLVr1/LOO+94e30HqszCeCB3UuPj41mwYAEA6enpfPbZZ9SsWZP4+Hh+/PFHv+d26tSp0NcL5EOqMgx0l0vupIpqJ0TpnE45jTUks9By8iG1eIrTYvTRRx/5LetTkuucyIfDgeZ0usN3ejpK193h22pFhYW5u6AHu45CVGIWi4Xp06czduxYdF1n6NChNGnShPnz59OqVSt69erFihUr2LJlCxaLhZo1a/p1Ue/Zsyfnz5/H6XTyxRdf8Prrrxf4AVoIUbGEvPceoUWMtS6urJEjsWcH2YL07t2bL774whvGp0yZwsaNG/nwww+9mS8pKanAa8nOnTvp3r07oaGhAHTt2tV77I8//mDx4sWcP3+ezMzMIj97HT58mLp169KgQQMA+vXrx5o1a7xh/OqrrwagWbNmfPXVVwH9DHyVWRgP5E6qZxZ1k8nE4sWLGTp0KOD+gb3wwgveyYy++eYbHnroobKqqhBClEgg1zlwz49x7tw52rdv790n17kScjrds5xnZOSEb0BZLKiQEDCZJHwLUcp69OhBjx49/PZNmDDB+7iwCds2bdpUZvUSQlRN3bp146WXXuK3337DbrdTs2ZN3n33XZYsWULNmjV56qmnsNvtJTr37Nmzefrpp2nSpAkJCQns2LHjb9XVarUCYDKZ0HW92M8vszAeyJ3UH3/8kRdeeAFN0+jYsSMzZswAIDo6mnvvvZdhw4YBcN9993knORJCiIoikOscuFvF+/fv713uB+Q6FzCXyy9843S6W7vNZvcsyRK+hRBCiDJhHzGiyFbsshAeHs7ll1/OnDlz6N27N+np6YSFhREZGUlKSgrff/+9XwNHbu3atWP27NnceuutuFwuvv32W2644QYAMjIyuOCCC3C5XHz22WfUqlXL+5oZGRl5ztWgQQOOHz/O0aNHueiii/jkk08Kfe3iKtMx40XdSb322mu59tpr833usGHDvB9ShRCioirqOgd4Z1DPTa5z+XC53F3PMzLQ0tPdXdA94dtqlTWChRBCiGqgT58+TJkyhVmzZtGwYUOaNGnCyJEjqV27Nq1bty70uc2aNaNXr16MHj2amJgYWrRo4T125513cueddxIdHc1ll13mDeC9e/fm2WefZdWqVTz11FPe8iEhIUydOpVp06Z5J3AbNGhQqb1PTSlVJRoVHA5HQGPGzx/cgV2zlVOthKgYQpSD0ItaYA0pfAI3GTNesQVynYNKNoGbroPdjpaV5V5uzOkEQJlMYLO51wYWIgAxViunY2JkArdKLpDrnP38WRzJ+7BrcnNOVB+e2dQjGhQeRP/uNW737t2FrpggSiY5OZmWLVvm2R/U2dSFEEJUM4bhH77tdndXc00DWetbCCGEENWIhHEhhBBlxzDc3c59wzfZLd9WKyoyMsgVFEIIIYQIDgnjQgghSo8nfDscaGlpaFlZ7v2e5cak5VsIIYQQApAwLoQQ4u9Qyh2+7Xb3Wt8ZGSjIWes7PBx8ZpEXQgghRMWmlPJbAUb8PYVN0SZhXAghROA84dvhyAnfhoFmMvmF7yoxM6gQQghRzYSGhpKenk5ERIQE8lKglCI9PZ3Q0NB8j0sYF0IIUTClwOnMG77BHb7DwiR8CyGEEFVEgwYNOHz4MCdOnAh2VaqM0NBQGjRokO8xCeNCCCH8+Ybv9PSc8G2xoEJDJXwLIYQQVZTVauXSSy8NdjWqDQnjQghR3Tmd7vW9MzIwpaeD0+kO3BYLKiTEvfRYsOsohBBCCFHFSBgXQojqxuVyt3x7wrfLBUq5w7fNBiEhwa6hEEIIIUSVJ2FcCCGqOl0Hux0tMxMtPd0dxDUNZTJJ+BZCCCGECBIJ40IIUdXoOmRm5oRvu90bvrFaUZGRwa6hEEIIIUS1J2FcCCGqEl2HpCTMp09L+BZCCCGEqMAkjAshRFWiFOg6KiIi2DURQlQgaWlpfP311yQnJwMQHx9P165dqVmzZpBrJoQQ1Zcp2BUQQgghhBBlZ926dQwePJgffviBzMxMMjMz+f777xkyZAjr1q0LdvWEEKLakpZxIYQQQogqbOHChaxduzZPK/jZs2f517/+xaBBg4JTMSGEqOakZVwIIYQQoorTNC3PPpPJhFIqCLURQggB0jIuhBBCCFGl3X333QwePJguXbpQt25dAI4dO8Z3333HvffeG+TaCSFE9SUt40IIIYQQVdjgwYNZs2YNnTp1wmazYbPZ6Ny5M2vWrGHIkCFFPn/z5s307duXPn36sHjx4jzH3333XQYOHMgNN9zATTfdxP79+73H/vvf/9KnTx/69u3L119/XarvSwghKrsybRnfvHkzs2fPxjAMhg8fzrhx4/yOHzt2jEcffZS0tDR0XWfixIn06NEDh8PBjBkz2LVrF5qm8dhjj9G5c+eyrKoQoprbvn07f/75J7que/fJOEohRFURFRVF586d/WZTj4qKKvJ5uq4za9Ysli1bRnx8PMOGDaNnz540btzYW2bgwIHcdNNNAGzcuJGnn36apUuXsn//fhISEkhISCA5OZnbb7+dTz/9FLPZXDZvUgghKpkyC+OBXLwXLlxIv379GDlyJPv372fcuHFs2rSJVatWAbB+/XpOnz7NnXfeyerVqzGZpCFfCFH6HnnkEY4cOULz5s29HxI1TZMwLoSoEvbu3cuMGTNIS0ujTp06KKU4fvw4NWvWZMaMGbRs2bLA5yYmJtKwYUPq168PwIABA9i4caPf57nIyEjv48zMTO/49I0bNzJgwABsNhv169enYcOGJCYm0r59+zJ6p0IIUbmUWRgP5OKtaRrnz58H3Otf1q5dG4D9+/d7W8Lj4uKoUaMGu3btok2bNmVVXSFENbZr1y4++uijfCc4EkKIym7y5MnMmjWLtm3b+u3/+eefmTJlCh9++GGBz01OTqZOnTre7fj4eBITE/OUe/vtt1m2bBlOp5M33njD+1zf14yPj/e2zAshhCjDMB7IxXv8+PGMGTOGFStWkJmZybJlywBo3rw5mzZt4rrrruOvv/5i9+7d/PXXXxLGhRBlokmTJpw8edJ7Q1AIIaqSzMzMPEEcoF27dmRmZpbKa4waNYpRo0axfv16Fi5cyLPPPlui85jNZuLi4gotkxVi5sRJM9E1i+5mL0RVYRgulN1e5O+HqFyCOpt6QkICgwcP5o477mDHjh1MmjSJDRs2MHToUA4cOMDQoUO58MILad++fZHjiwK5eCvDIPOIhehIuXiL6sVxPoW42DisoeHBrkqFlJqayoABA2jTpg1Wq9W7f9GiRUGslRBClI7u3bszbtw4Bg0a5G0oOX78OOvWraNbt26FPjc+Pp7jx497t5OTk4mPjy+w/IABA3jiiSdK9FxwD3M8ffp0oWXs589iGDpnzp4ttJwQVYnSXYSHWIr8/fCsmCAqhzIL44FcgFevXs2SJUsAaN++PXa7ndTUVOLi4pg6daq33I033kijRo0Kfb1ALt7KMNBdLrl4i2onROmcTjmNNaTwFpDqegG///77g10FIYQoM9OmTeOrr75i48aNnDhxAoDatWszatQoevToUehzW7duTVJSEkeOHCE+Pp6EhATmzZvnVyYpKcn7Oe3LL7+kYcOGAPTs2ZOHH36Y22+/neTkZJKSkqSXoxBC+CizMB7Ixbtu3bps2bKFIUOGcODAAex2O7GxsWRmZqKUIjw8nG+//Raz2ew31lwIIUpTp06dOHXqFL/88gsAbdq0kW5gQogqpUePHkUG7/xYLBamT5/O2LFj0XWdoUOH0qRJE+bPn0+rVq3o1asXK1asYMuWLVgsFmrWrOntot6kSRP69etH//79MZvNTJ8+XWZSF0IIH5pSSpXVyb/66ivmzJnjvXjfc889fhfv/fv3M23aNDIyMtA0jUceeYSuXbty9OhRxowZg8lkIj4+ntmzZ1OvXr1CX8vhcATUMn7+4A7smq0036YQFV6IchB6UQusIYV3U6+uLeMfffQRc+fOpVOnTiil2LZtG5MmTeLaa68NdtX8BHKdw+Ui7uxZUp3O8qmUEBVEjNXK6ZgYKGLllep6nSvI448/zpNPPhnsangFcp07lfonJ//8Gd0UikkzY8aEpmmYNZN326SZMGkaJsyYNZNM0CkqPU839YgGrQstJ9e4yqVMw3h5kjAuRMEkjBfu+uuvZ9myZd7W8JSUFG677bZCZxgOBgnjQhRMwnjBzpw5k+9+pRQ33HADmzdvLt8KFSKQ61yHFZfzV8bxQsvkpuEO6xqm7NCe892Ez7Y3yOezXdixAs7l3V/othkTmt95zJrZW2fPtvvc2eUwe8trmpbPdvaNCe9raX7b7hsYJr9tk0/dzAH8THLei7v+vj8DuflR+iSMV01BncBNCCEqAqWUX7f06Ohoqsh9SiGE4KqrruLCCy/0u65pmoZSipSUlCDWrGRe7vICvx/9HjsmDGVgYGAoA13lfFf4b3vKGMpA9ymvcm0bSsdAFbJtoKOjlPJuu5QLh2FgKIVBzvPc9VB+2+76es6nZ9cr93bOuSor3xsH7psOZp/eCjnb7hskPr0a8tkO9CZEoDcdCrwJketGTUlu3Jg1c04vjQJvthT1PvPZxoRmGITZZBLqqkbCuBCi2uvatStjxoxhwIABgLvbevfu3YNcKyGEKB3169dn+fLlXHjhhXmOlWQcebB1qNWe1kYkdi0k2FUpUyo7kOfcUFDumwM+NwYMn5sOvjcacj8uyU0IHcPvpoOOnnOjIPc22TcTvDdDlN+24VP/PDdH8rmh4ve+ch1zGk7shbzv3D8T321d6T43SPxv3Cgq/k34+y+9mSkNnwt2NUQpkjAuhKj2Hn30UT799FO2b98OwIgRI+jTp0+QayWEEKVj9OjRnDt3Lt8wPnbs2CDUSATC0/Jr1sxYiy4u/ibvjQd0nxsOPr0clPLbznODIXevB+/zfW6iFHKDJM8Nilw3InTDSd+6/wj2j0mUMgnjQggB9O3bl759+wa7GkIIUepGjRpV4LFbbrmlHGsiRMWlaRoWzQxUzBn/PWPGRdUi/4sKIaqtm266iXfffZf27dv7TTajlELTNG9LuRBCVAUOh4PNmzdz+PBhYmNjueaaa4iKkjGoQggRLBLGhRDV1rvvvgvAjh07glwTIYQoW59//jmvv/46/fr1o3HjxqSkpDBhwgQeeeQRWrZsGezqCSFEtVT4+h9CCFENHD58GIfDAcAPP/zAm2++yblz54JcKyFEgZTC9OefhH74ITVnzCBu4EDMTz0V7FpVWNu3b2flypUsX76c1q1bExYWRr169bj55pt58cUXWbNmDT/99FOwqymEENWOtIwLIaq9+++/nzVr1nDo0CGmT59Oz549efjhh3nttdeCXTUhBIBSmI8cwfbTT1h/+gnb9u2Yj7vXmTaio3Fcfjnmf/4zyJWsuJYsWcKMGTMICQkhISGBX375hSuuuIKtW7fSvn17/vGPfzBr1iw6dOgQ7KoKIUS1ImFcCFHtmUwmLBYLn3/+OTfffDO33HILgwYNCui5mzdvZvbs2RiGwfDhwxk3blyeMh999BELFixA0zSaN2/OvHnzAHjuuef46quvMAyDLl268Nhjj/mNXRei2lIKc1KSO3xv347tp58wnzwJgB4bi7NDB9Jvuw1Hhw7oF1/MnJ/OEWKYeDDI1a6o/vrrLxo0aADAb7/9xltvvYXNZsNut3PnnXdSt25djh49GuRaCiFE9SNhXAhR7VksFjZs2MC6detYuHAhAC6Xq8jn6brOrFmzWLZsGfHx8QwbNoyePXvSuHFjb5mkpCQWL17Mu+++S1RUFKdPnwbc3Ua3b9/Ohx9+CMDIkSP58ccf6dy5cxm8QyEqOKUw//EHtp9+8gZwc/bvil6rFo4OHXBefrk7fDdqBLluWh1Jc2GRG1kFslgsnD9/nsjISAzD4I8//qB58+YcPHgQl8uFw+EgNDQ02NUUQohqR8K4EKLae/rpp1m5ciV333039evX58iRI1x//fVFPi8xMZGGDRtSv359AAYMGMDGjRv9wvj777/PqFGjvDMWx8XFAe4lVBwOB06nE6UUTqeTCy64oAzenRAVkGFg2b/f2+pt++knTGfOAKDXqYOjc2ecHTq4w3f9+nnCtyiefv368fbbb3PXXXcxZ84c5s2bx5kzZ4iOjmb27NmsXbuWnj17BruaQghR7UgYF0JUe40bN2batGne7fr16+fb3Ty35ORk6tSp492Oj48nMTHRr0xSUhIAN954I4ZhMH78eLp370779u3p3LkzXbt2RSnFzTffzKWXXlo6b0iIikbXsezblzPme8cOTGfPug9deCH2bt1wXH45jo4dMS68UMJ3Kbv55psZN24c0dHRjBgxgpdeesl7bM2aNSQkJLB06dIg1lAIIaqnAsN4SkoKKSkpfi08APv37yc2NpbY2Ngyr5wQ1YJSaE4nmsOJyW5HszswORxodnv2d0fOd7sdzeHAZHfkfM9Tzo7J4XR/tzs4lmJnb6PLaLfihWC/0wpnwoQJzJ8/n4EDB+Z7fP369X/7NXRd59ChQ7z11lscP36cm2++mfXr15OamsqBAwf46quvALjjjjvYtm0bHTt2LPBcZrPZ27JeIJcLS3o6MZGRf7vuQpSYy4W2Zw/aDz9g+v57tK1b0dLSAFANG2L07Yurc2eMzp2hXj3MQFj2V0lYLGfQDMP9+2GShWJys9lsLF68mMWLFzN8+HDq1q2L2Wzmr7/+onPnzrz22mvYbLZgV1MIIaqdAsP4k08+yciRI/PsP3PmDAsXLvROQCRElaEUmsuVK+za/cNwPmHXW67IkOzzfN9yDgeaUiWutmG1okJsGCEhKJs1+7sNI8SGstmwx4aj4osIcNXUY489BsCiRYtK9Pz4+HiOZ8/oDO6W8vj4+Dxl2rZti9VqpX79+jRq1IikpCR+/PFH2rZtS0REBADdunVjx44dhYZxXde9Y84L5HIR53KRmppaovckRIk4nVh+/TVnzPfPP2NKTwfA1bAhjt69cXbsiKNDB4zatf2fWwr/Vi+O1Ag1W92/H0WE8bp16/7t16uMbDYb48ePZ/z48aSkpABIw4oQQgRZgWH80KFDXHHFFXn2d+zYkSeeeKIs6yQEuHRMjuwgbHegObIDrF+wtefTauxuXfbscz/PmfN8h385TyD27NMMo8RVNiwWdyi22VAhIRg2q/t7dijWY6LzhmXfcjabz/NteUK1ERLif9zm3h9IK1AL5Sjx+6rKameHAsMwqF27NiEhIQBkZWVx6tSpIp/funVrkpKSOHLkCPHx8SQkJOS5Udm7d28SEhIYOnQoKSkpJCUlUb9+fY4ePcr777+Py+VCKcXWrVsZPXp06b9JIcqC04l19253l/OffsK6cyemzEwAXBdfTFb//jguvxzn5Zdj1KpV5tV56PIoYqxWirhVJXBPHvnnn3+i67p3X6CrRwghhChdBYbx9Ow72vlxOp1lUhlRAel6+bUS+4ZsveShWJnNuYJtiE+gtaHXrOnfilxIgM4biAsIyTYrmM2l+IMX5WnChAmsXLnSu20ymZgwYQJr1qwp9HkWi4Xp06czduxYdF1n6NChNGnShPnz59OqVSt69epFt27d+Pbbb+nfvz9ms5lJkyYRExND3759+f777xk4cCCaptGtWzeZQElUXA4H1l9+wbZ9uzuAJyaiZWUB4GzcmKzrr8fRoQOOyy9HSWtrhfXII49w5MgRmjdvjjn7b5amaRLGhRAiSAoM4w0bNuSrr76iR48efvu/+uor78zBohwZRjHHEvu0EufXIpxPmM7dSmyy29F87pwXlzKZ/EKssuUKxZERGHGxecJu3lbgfFqP8+uSnX0ci4RiX/O2uzABT1wU7JpUXLqu+42XtNlsAd907NGjR57r5IQJE7yPNU1jypQpTJkyxa+M2Wxm1qxZf6PW+VNKcdZ+jnOunPpr+E+GZdL8e1PkXts8d/mC9ufZ9jlPYccCPUfu47IGeznKynKH759+cgfwxEQ0hwOlabiaNiVj8GD3bOft26NiYoJdW2Z8n4pNMzFlYPDrUpHt2rWLjz76SH6XhBCigigwjE+dOpW77rqLjz/+mJYtWwLui/jPP/9c4vGVVYJhoDlzB9p8QnI+XaFLMpbYe56/0RtBaVqhwVaPCEfFROXbCpy3+3RI/sE5Oxj7PsZslhlxK4BTWWAq+ZD0aiE2NpaNGzfSq1cvAL744gtiKkDAKAld6ZzLSCFN+dxIy/W/v/LZoVAFhm+/Y8o/DOd+XsDnVKrA8wRcl2y+5zFR8A0Gv0Cf/Z/3ebmGeeQO/55tDQ3fly/sPMW5+VHQ+83vWGE3JgK9aVHQz1DLzMSW+EvOmO/du9GcTpTJhKtZMzL+9a+c8F2zZoHnD5YTGToWreQ9qqqLJk2acPLkSe8QHSGEEMFVYBhv1KgR69evZ/369ezbtw+AK664glmzZnnHVVY2lt27iVm7CsNhFBCWCwnDnnKOv9dF3yggxKoQG0ZoKHpUVEBdpfMdY5wnLLvPr6xWCcVCFGLmzJlMnDiRWbNmoWkaderU4dlnnw12tUpM0yDUVNJ5qSuJXJMe+t0MKOxY9n8ehs+QGEXhzyvoWN66BVYuvxsagdz8yK8ugdz88C1nysikxi97qbFzNzV27ibi1/2YdB1lMpHe7FJODR1AWrtWnG/VHD0ywqcuZyDtTCnd/PCvte9Ni9w3P3xfT9O0PK/nUjoaMot6UVJTUxkwYABt2rTBarV691frRhYhhAiiQtcZt9lsdOrUyTvbZuPGjYsVxDdv3szs2bMxDIPhw4fnWbf32LFjPProo6SlpaHrOhMnTqRHjx44nU6mTZvGnj17cLlcDBo0iLvuuqsEb89fxBtvEPHOOwDuwFtQ0LXZcNaIzNWtOm+36MK6SucXkpVNQrEQFVGDBg14//33vXNleGY4FxVYoS3D5V2Zis90Pp2IxF1E/PwLETsSCft9H5puoMxmMlo05dTIYaS3a0NG68swwsO9z/MO3lCF3Jgo7JjvzQ9V8M2Pom52FHhTI3u3y3APTzKUkedGgchx//33B7sKQgghfBQYxs+fP89jjz3G7t27adGiBUop9u7dS8uWLZkzZw6RRaxhq+s6s2bNYtmyZcTHxzNs2DB69uzpt275woUL6devHyNHjmT//v2MGzeOTZs28cknn+BwOFi/fj2ZmZkMGDCAAQMGcNFFf2/Q69lnn+XYHUPIskXIOqRCCK9Tp07xwgsvcOLECZYsWcL+/fvZsWMHw4cPD3bVhCgR07k0d/jekUjEz78Qtu8AmmFgWK1kXtaMkzffyPl2rclodRkqLLToExY6H0Bp1774TJoLlHRTL0qnTp04deoUv/zyCwBt2rRxr81ehKIaV5YtW8aqVaswm83ExsYyZ84c6tWrB8DcuXP56quvALj33nvp379/Kb8rIYSovAoM40899RSNGzfmP//5j7dbmVKKV155hVmzZvHcc88VeuLExEQaNmzonextwIABbNy40S+Ma5rG+fPnAUhLS/OOYdI0jczMTFwuF1lZWVit1iLDf0A0DRUSApoEcVF9NI/RMMuY8UJNnjyZIUOGeLtqNmrUiAcffFDCuKg0zGfPuVu9f3aH79D9f6AphWGzktGyBSdGjyS9fWsyWrZw/x2sYuQ6F5iPPvqIuXPn0qlTJ5RSPPnkk0yaNIlrr722wOcE0rjSokUL1qxZQ1hYGO+88w5z587lxRdf5Msvv2TPnj2sW7cOh8PBLbfcQvfu3UvnM50QQlQBBYbx7du388wzz/jt0zSN8ePH889//rPIEycnJ1OnTh3vdnx8PImJiX5lxo8fz5gxY1ixYgWZmZksW7YMgL59+7Jx40a6du1KVlYWU6ZMITo6ujjvSwiRbXQLMyGq5LPiVwepqan079+fxYsXA+4ly3JP7CVERWJOPeMXvsMOHATACAkho1ULToy5hfPt2pDZohkqxFbE2Sq/0S3M2OQ6V6RFixaxevVqb2t4SkoKt912W6FhPJDGlSuvvNL7uF27dnz44YcA7N+/n44dO2KxWLBYLDRr1ozNmzdL67gQQmQrdMx4QXJPjlNSCQkJDB48mDvuuIMdO3YwadIkNmzYQGJiIiaTia+//ppz584xcuRI/vGPfxS6pJrZbC6yq5UyDDKPWIiOjCqV+gtRWTjOpxAXG4c1NLzowtVQeHg4qamp3kmhfv75Z2rUqBHkWgmRw3I6xR28s7udhyYdBkAPCyWjdUuO9+pBevs2ZDZv6p60U4h8KKX8PitFR0cX+ZkukMYVX6tXr6Z79+4ANG/enAULFnDHHXeQmZnJDz/84Bfi8xPI57msEDMnTpqJrimf50T1YRgulN0e0NASUXkUGMbbt2/PggULuO+++/xmLX3llVdo165dkSeOj4/n+PHj3u3k5GTi4+P9yqxevZolS5Z4X89ut5OamsqGDRvo1q0bVquVuLg4Lr/8cn755ZdCw7iu65w+fbrQOinDQHe5OHP2bJH1F6KqmLPVhRmDOXVOYw3JLLRs3bp1y6lWFcvkyZO55557OHz4MDfeeCOpqanMnz8/2NUS1ZjlxEkisydbi/j5F0KOHAVADw8no01LUvv1Ib1dGzKbNQZLie6rVylztrowAc81CnZNKrauXbsyZswYBgwYALi7rXuCc2n44IMP2LVrFytWrPC+3i+//MKNN95IbGws7dq1K7LXUSCf5+znz2IYunyeE9WK0l2Eh1iK/P2orp/lKqsC/4I//vjjTJ06lT59+tCiRQsA9u7dy2WXXcZTTz1V5Ilbt25NUlISR44cIT4+noSEBObNm+dXpm7dumzZsoUhQ4Zw4MAB7HY7sbGx1K1blx9++IFBgwaRkZHBzp07GT169N98q0JUT2lOWWe8MLqus3XrVlasWMHBgwdRSnHxxRf7LfsjRFmzHk/2Bu+InxMJ+fMvAPTICNLbtCLl+n7ulu/Gl4LFHOTaVjxynQvMo48+yqeffsr27dsBGDFiBH369Cn0OYE0rgB89913LFq0iBUrVmCz5QyNuOeee7jnnnsAePjhh7n44otL460IIUSVUGAYj4yM5KWXXuLw4cPs378fgEceeYQGDRoEdmKLhenTpzN27Fh0XWfo0KE0adKE+fPn06pVK3r16sXkyZOZNm0ay5cvR9M0nnnmGTRNY9SoUUyZMoUBAwaglGLIkCE0b968dN6xEEL4MJvNbNiwgdtuu40mTZoEuzqiOlAK67HjRP6cE75tfyUD4KoRSXq7Npweej3p7dqQdenFYJbwLUpP37596du3b8DlA2lc2bNnD9OnT2fJkiV+XWh1XefcuXPExMTw66+/8ttvv9GlS5dSey9CCFHZaaqYA8APHjzI0qVLA2odL08OhyOgburnD+7ArlX9yWyE8JjynQuTMljwrxZYQwofM15duzbNmTMHl8tF//79CQsL8+5v2bJlEGuVVyDXOZcji4wju3HIda7iUArb0WPeydYiduzEduIUAK7oKNLbtSa9XRvS27Um65JGsvRmCXiucwtHtsVkLrzbfnW8zt100028++67tG/f3m/ooVIKTdO8LeUF+eqrr5gzZ463ceWee+7xa1y57bbb+P3336lVqxbg/hkvWrQIu93O4MGDAXcjz8yZM729LQsSyHXOfv4sjuR92LWqtzKAEAXxdFOPaNC60HLV8RpXmRX4F+vXX3/lueee48SJE/Tq1YtRo0bx5JNPsnPnTu64447yrKMQQpSpvXv3AviNE9c0jTfffDNYVRKVmVKEHD5CxA7PmO9ErKdTAHDGxpDerjUns8O3/eKGFWOhblGlvfvuuwDs2LGjRM/v0aMHPXr08Ns3YcIE7+Ply5fn+7yQkBA++uijEr2mEEJUB4WOGb/pppto164dmzdvZtCgQQwaNIjnn3+ekCq4RqkQVVXbC2T93aK89dZbwa6CqMyUIuTgIW/wjti5C2tKKgDOC+JIb9+G9HZtOH95Gxz1L5LwXQbkOheYw4cPU6dOHWw2Gz/88AO//fYbgwYNombNmsGumhBCVEsFhnGHw8GQIUMAuOSSS3jrrbeYNGlSuVVMCFE6bmwq64wXJTU1lVdeeYWffvoJTdO4/PLLue+++4iJiQl21URFZBiEHjiYs873zl1YzrhndXbUrsX5Ky7PDuCtcdS7UMJ3ObixqawzHoj777+fNWvWcOjQIaZPn07Pnj15+OGHee2114JdNSGEqJYKDON2u509e/Z415+02Wx+2xVtLKUQQpTUQw89RMeOHXnppZcAWL9+PQ8++GCBXS9FNaPrhO7/wz98n0sDwFE3nnP/6JQ95rsNzrrxEr5FhWUymbBYLHz++efcfPPN3HLLLQwaNCjY1RJCiGqrwDBeq1Ytnn76ae/2BRdc4N2WsZRClB1DGWTpdjL1LDL1LDKMLDJdmf7behaZruzvnm09iww9p5zn61hGJrXMrfh6lLR8FOTkyZPcd9993u17772Xjz/+OIg1EkHl0gnbtz9nqbHEXZjPpwNgv+hCznXv4p10zVmndpArKwBmfO9eZ3x+o2DXpGKzWCxs2LCBdevWsXDhQgBcLleQayWEENVXgWFcxlAKUTClFJmGPU/wLSgQu/fZiyyXqWeRZdiLVReLZiHcHEpYrq9oaxR1Q+OxZ9mI0aQnS2G6dOlCQkIC/fr1A+CTTz6ha9euQa6VKDcuF2G/7iPi50Qif/6F8MTdmDMyAMhqcBFnevZwh+/2bXDVuiDIlRX5cRiyznggnn76aVauXMndd99N/fr1OXLkCNdff32wqyWEENVWsZc2q6hkaTORm1IKu+EoNPhmFBWmjSwydTsZrky/Fugs3Y4i8F8di2b2Ccph2d9D3N9N7v3hljC/7TBzaL4hO9z7fPeX1VT4Mj6ytFnR2rdvT2ZmJubs9Zx1XfcucRbIsj/lRZY2Kx2a00nY3t/dXc53JBK+aw/mzCwAsho1cHc5b+9u+XbFxQa5tiIQsrRZ1SFLmwmRP1narGoq/C+WEGVMKYXDcObtbp0r/AYUnHOVy9LtGBgB18WEKd/wG2kOp5Yt1j9AZwdi//K++0L8grPVZC3Dn6L4u0q63I+oHDS7g7C9vxG5YycRP/9C+K69mOzuHiiZl15Mav9/etf51mOig1tZIcrAhAkTmD9/PgMHDsz3+Pr168u5RkJUcbqOye5As9sxZWVhyrKj2R2Y7O7H7m07Jrs9Z9vh89hTzu7AlJWFZrdzPMXOh90GceN/Cg/jonKRMC4C4swOzDnh1+4TjjPzCcw55Qrtlm1koavAA7OGlquVOOdxrC0635bjMFMo4Rb/7fxaom0mK5pMvCREpafZ7YTv2pvd8v0L4Xv2YnI4UZpGVuNLSLm+H+nt25LethV6lCzpJKq+xx57DIBFixYFuSZCBJnL5Q3AWlZ2GPbbznKHaM/jgIJzrmN2Oyans9hVU5qGCrFhhIZihIRghIagQkLcj8PCOBldkzM1okv/ZyKCqsAw/vXXX5Oens61117rt/+TTz6hRo0adOnSpcwrJ4rHabgCbjX2bYnO8EwO5m2JtvsF7Ew9C1cxl4zJHYZzxjHXLLLbdWHds0NMNgnMxXRFvIalSgxGESJ/WmYWEbt2E7HDPdt52N7fMTmdKJOJzCaXcnrI9e6W7zYtMWrWCHZ1RRm4Il7WGS9M7druiQYNw6B27dqEhLi7d2dlZXHq1KlgVk0IUArN6cxuOc6/Jbno4Jz9vPyCtMORc069+EsgKpMpJxyHZofjEPdjPTIC44K47OBswwgJzSlnyw7WvqHa9xyhoRghtuztUJTNWuhqHJ/ucxJiMf2dn7SogAoM46+88gqvvvpqnv2dOnXinnvukTBeQi5Dz9P9OqDgXMSkXxl6Fi5VvBlRQ00heQJvmDmU2iGR2WE419jmAoOz/75Qkw2TJheLimLIpbLOuKhaTBkZhCfu9i41Fr73dzRdR5lNZDZryunhg9zrfLduiREZEezqinIw5FJZZzwQEyZMYOXKld5tk8nEhAkTWLNmTRBrJSospdxB1p4dfn1Cr2Z3ZG/7BOesrJyyBQTpnOCc3YKcva0ZgfeS9DAsFr+WZHeodQdiPSoKZ7x/cPZrbfYJxO5zhOQE6VznVBZLhViycvAlGuEh5mBXQ5SyAsO4w+EgNjbvxDWxsbFkZM8yW1XpSvcuLZU3/NoLmS3bt2XZ3dKcu9XZYRSv24rNZM2323WtkNh8JvsKvIU51BwigVkIH9u2bePQoUMMHTqUlJQU0tPTqV+/frCrJQDT+XQiEne5w/eOnYT9vh9NNzAsFjJbNOXkyGGkt2tDRuvLMMILn6RQiOpM13VstpzJHW02G84SdKcVQWYYPq3I7kDsDcuOXME5V5DWfLpTe59n9wTu7NZkh8MbuLUSzPNsWK05gTc79Hq29bgYv2134HW3EHsCsfI8zxaS89g3VGdvY5HRtqLyK/BfcXp6Oi6XC0uuf+hOpxO7vXhLL1UUm45sYt2et0g3HIWGbLvhKNZ5rZo1z4RdYeZQYqxRXBgaH/Cs2LnLhZpCsZjkDpj4e9yzDMOCfwW7JhXXggUL2LVrFwcPHmTo0KE4nU4eeeQRvxYkUX5M59KISNxF5A73bOeh+/9AMwwMq5XMy5px8uYbOd+uNRmtLkOFhQa7uqIC8FznFjYKdk0qttjYWDZu3EivXr0A+OKLL4iJiQlyraoQXc+/1denNdgberNbljW/7tS+QTl3cPbZdhTvc6qHu9u0p3U4JwCrkBCcNWtkh1yb+5innC3/UO0XnLNbkt1dsW1gls+uZWHq9wqTycV/RwW7JqI0FRjG+/Tpw+OPP87jjz9OeHZLQ3p6OrNnz6ZPnz7lVsHS9NOJn/gmZTuhPt2vo6w1qRNaO5+QHMCyU5YwQk0hRS4tJYSo2D7//HPWrVvH4MGDAYiPjyc9PT3Itao+zGfOErHzF++Y79ADB9GUwrDZyGjZnBOjR5Levg0ZLZujQmQpIyFKaubMmUycOJFZs2ahaRp16tTh2WefDXa1yp7LlR1qswodl5xvIPYLzj7jkn3O4d0uYS8Dd7jNf9IuV0y0XyBW+Yw19obo3F2t/UK1DUzSI1KIiqbAFPnAAw/w4osvcs0111CvXj2UUvz1118MGzaMCRMmlGcdS80jHR7hntjess64EMKP1eqeSd8zOWBVH4oTbObUM0TsSCTy50Qifv6F0D+SADBCQsho1YLkMbeS3r41mS2auT9ACiFKRYMGDXj//fe9NxsjIirnnAo13n4H8/YfUA7dJ1TnM6O1J1CX0aRd+Y419oTlgibt8tsuetIuIUTVVmAYt1gsTJw4kfHjx3Po0CEAGjZsSGiodAkUQlQt/fr1Y/r06Zw7d47333+fNWvW8K9/Sb/+0mI5ddo72VrEz78QmnQYAD0slIzWLTnT5xrS27Ums3lTlNUa5NoKUXWdOnWKF154gRMnTrBkyRL279/Pjh07GD58eLCrViwRH32M5cAB9FyTb+lRUThr557QK+9YY//tij1plxCiaiswjH/22Wd+25qmkZaWRvPmzYmMjCzzigkhRHkZM2YM3377LRERERw8eJB///vfsmLE32A5cZLIn38hYoc7fIccOQqAHh5OettWpPbrQ3q7NmQ2aywT8AhRjiZPnsyQIUO86403atSIBx98sNKF8eNvv4UjeR92TYatCCEqtwI/Bf3vf//Ls+/MmTP89ttvzJ49m6uuuqpMKyaEKB1dL5R1xgPRpUsXCeAlZD2e7A3eETsSCTn2FwB6ZCTpbVuRcn0/0tu3IbPxpWCRiX1E6ZPrXGBSU1Pp378/ixcvBty9IE0yjliISqFrXbBapLdGVVNgGH/66afz3f/nn3/ywAMPsGrVqiJPvnnzZmbPno1hGAwfPpxx48b5HT927BiPPvooaWlp6LrOxIkT6dGjBx9++CFLly71lvvtt9/4v//7P1q0aBHo+xJCZBvQSNYZL0r79u2948U9atSoQatWrZg8ebIsceZLKazHjrvHe2cHcNvxZABcNWuQ3rY1p4ddT3q7NmRderHMqivKxYBGss54IMLDw0lNTfVe737++Wdq1KgR5FoJIQLRv6GsM14VFbt/YL169XC5XEWW03WdWbNmsWzZMuLj4xk2bBg9e/akcePG3jILFy6kX79+jBw5kv379zNu3Dg2bdrE9ddfz/XXXw+4g/h9990nQVyIEspyKRQgsz0UbPTo0dSpU4frrrsOgISEBA4fPkzLli2ZOnUqb731VpBrGERKYTt6jIgdO73jvm0nTgHgio4ivV1rTt04lPPt22C/uKHM1iuCIsulMAAZRFe4yZMnc88993D48GFuvPFGUlNTmT9/frCrJYQIgF1XmFyKyjntoihIscP4H3/8gS2A2W0TExNp2LCht0VpwIABbNy40S+Ma5rG+fPnAUhLS6N27dp5zpOQkMCAAQOKW00hRLaZP+rudcYbBrsmFdemTZv48MMPvdsjRozghhtu4JFHHvGOraw2lCLk0BH3ZGvZS41ZT6cA4IyNIb1da062b0N6uzbYGzWQCY5EheC5zi28NNg1qbh0XWfr1q2sWLGCgwcPopTi4osvxiqTJgpRKczcCiaTzn8vCXZNRGkqMIzffffdefadPXuWkydP8txzzxV54uTkZOrUqePdjo+PJzEx0a/M+PHjGTNmDCtWrCAzM5Nly5blOc9HH33Eq6++WuTrCSFESYWFhfHRRx9x7bXXAvDJJ58Qkr2ede7u61WOYRCSdDi7y7m727k19QwAzloXkH55W863a0N6+9Y46l8k4VvkoSsdh+HEaThxGi4cyv3Y4bftwmk4cCpXzn7Pc5TTf5/Kfa7CyrrP+1emi4vMVwNtg/3jqLDMZjMbNmzgtttuo0mTJsV6blHDDpctW8aqVaswm83ExsYyZ84c6tWrB8Bzzz3HV199hWEYdOnShccee6zqX1eFECJABYbxO+64w29b0zSio6Np2LBhQC3jgUhISGDw4MHccccd7Nixg0mTJrFhwwbvZCI7d+4kLCyMpk2bFnkus9lMXFxcoWWUYZB5xEJ0ZFSp1F+IysBiPoPSFXGxcVhDw4NdnQrp+eefZ/bs2cycORNN02jXrh1z584lKyuLxx9/PNjVK12GQeiBg35LjVnOngPAEV+b8506kN6+DentWuOod6GE7wpAKYWuDBzKiSs75HqCaE4I9t/OCao5wdWhHN7HriLKekKvw3Diyh2wc5U1MEr1/Vo0M1aTFatmwWayYTNZsZosWDX3d5vJilWzUsMSgSV7OzPLTA2TzO1QlMsvv5xZs2bRv39/wsLCvPtbtmxZ4HMCGXbYokUL1qxZQ1hYGO+88w5z587lxRdfZPv27Wzfvt3b82jkyJH8+OOPdO7cuezepBBCVCIFhvFOnTrlu3/btm0kJCQwY8aMQk8cHx/P8ePHvdvJycnEx8f7lVm9ejVLliwB3BMo2e12UlNTvaG6OF3UdV3n9OnThZZRhoHucnHm7NmAzilEVeDSdUxKcTrlNNaQzELL1q1bt5xqVbHUr1+/wO7oHTt2LOfalDJdJ3T/H0T8/AuRO3YSvnMXljT38CBH3Tqc69KZ9HZtSG/fBmfdOkWcrOpSSuFSer6tr+4Q7MJhOPK21vq24nrDqjNXsPVv2c0deAss67Ptnvmh9Fg0izfk2jSrO/yarNlBN+dYTWskVs2aq6wFqyck+5S1Zodkb9nsbavPtk0r+JgnbJu04s87MOU7FyZVujcFqqK9e/cC+I0T1zSNN998s8DnBDLs8Morr/Q+bteunTd8a5qGw+HA6XSilMLpdHLBBReU6nsSQojKLKAx43v27GH9+vV8+umn1KtXj3/+859FPqd169YkJSVx5MgR4uPjSUhIYN68eX5l6taty5YtWxgyZAgHDhzAbrcTGxsLgGEYfPzxx7zzzjsleFtCCBE4u93O6tWr2bdvH3a73bu/oFUlKjSXi9C9v1Pz573ulu/E3ZjPpwNgv+hCzvXo6m35dsbnnaejLLkDr083Zb/uzEW37PqGZGd2SM6/rH93aN+AXdB5nYar1ANv7mDqCcA2T/DVrFhMFsKtYT6h1lpo2ZxQbPMJsRa/MJ3fPr/QrFmlm3A1NX/+fO/nrEAFMuzQ1+rVq+nevTvgbmjp3LkzXbt2RSnFzTffzKWXysB+IYTwKDCMHzx4kISEBDZs2EBMTAz9+/dHKRXwrMIWi4Xp06czduxYdF1n6NChNGnShPnz59OqVSt69erF5MmTmTZtGsuXL0fTNJ555hnvB4StW7dSt25dWVJIiL+pV30TVmkxKtQjjzzCJZdcwjfffMN9993H+vXrueSSwGZIKWosJbjnvliwYAGaptG8eXPvjcljx44xbdo0/vrrLzRNY/HixVx00UV/671cMGYsYV9tBiCj/oX8dXVnTrVuyolWl5AWW8Pb0us0juE4dcjd7Tnf1lqXX0AusDu0CrSsC6dy/q33lp+c1lafVlafEOzZH2EKz79F1relNoCWXd/QbDXlben1PNeiWSTwlqNe9U1Y5DpXoE2bNjF16lTvuuIvvvgil19+eam/zgcffMCuXbtYsWIFAIcOHeLAgQN89dVXgHsI5LZt2wrtcRTIsMOsEDMnTpqJrinDDkX1cV3TdJTTVeTvh6hcCgzj/fr1o2PHjvz3v/+lYUP3NMzLly8v1sl79OhBjx49/PZNmDDB+7hx48asXLky3+d27tyZ999/v1ivJ4TIq3d9EyGl2+BX5Rw+fJiXXnqJjRs3MnjwYK677jpGjRpV5PMCGUuZlJTE4sWLeffdd4mKivIbTvPoo49y991306VLF9LT073zZfwd0644x5FasLkhJNc4BhwDNsG+kp1PQ/O2tlpytd56Wl9tJishZhs1tMg8rcD5lc3dsmvx6Sqdb+DN0x3ahlWzYNHMEngF4L7O2eQ6V6D//Oc/vP3221x66aXs3LmTuXPnegNzUQIZdgjw3XffsWjRIlasWOGdW+jzzz+nbdu2RES4F2Pq1q0bO3bsKDSMBzLs0H7+LIahy7BDUa38I9ZFeIilyN+P6jrksLIqMIwvWLCAhIQEbr31Vrp168aAAQNQSv7SCVHZnLUrQpB1xgtjsbgvhTVr1uT333/nggsuKPKPHQQ2lvL9999n1KhRREW5W3A8d7T379+Py+WiS5cuAN4Pq39Xu0ETMA5u4mZTaEAtu7m7R+eMCXY/12Iyl0q9hChLZ+0KG7LOeEEsFou3e3jbtm1JT08P+LmBDDvcs2cP06dPZ8mSJX6tdhdeeCHvv/8+LpcLpRRbt25l9OjRpfOmhKhqlEKhUJ7vKNz/pzAwOJulE41Z1hmvYgoM471796Z3795kZGSwceNG3njjDVJSUpgxYwZ9+vSha9eu5VlPIUQJPfNT9jrjsi5lgUaMGMHZs2d54IEHuOeee8jIyPDrxVOQQMZSJiUlAXDjjTdiGAbjx4+ne/fuJCUlUbNmTcaPH8/Ro0e56qqrmDhxImbz3wu/V1/Ug07qAhxa6ax6IURl4LnOLSx68ZVq6fTp037Lx+bevv322wt8biDDDp977jm/62bdunVZtGgRffv25fvvv2fgwIFomka3bt3o2bNn2b1RIcqDT2g2MLyB2fc/zz5fGu6eXAaG93FumqZh1sxoaJgwYTKb3I81EzN3OrCZNRYUb2VCUcEVOYFbeHg4AwcOZODAgZw9e5ZPPvmE1157TcK4EKJKMAyDiIgIoqKiuOKKK9i4cWOpnl/XdQ4dOsRbb73F8ePHufnmm1m/fj0ul4tt27axbt066taty4MPPsjatWsZPnx4gecKZCyly5GF45iZ8BoyllJUH94lHOPiMJkDmpu2WvnXv/7l1xqee7soRQ07LGgYo9lsZtasWcWrrBClIZ9WZr/HnqDsE6S17P/cu1X2aRRo+IVnTXMHZc93s9nsDcyefSaTyR2qtZxzes6vaZp31QjPtud7Yaymk5g16a1W1RTrL1ZUVBQjRoxgxIgRZVUfIYQoVyaTiSVLltC/f/9iPzeQsZTx8fG0bdsWq9VK/fr1adSoEUlJSdSpU4cWLVp4u7j36tWLnTt3Fvp6gYyldDmycOk6GTKWUlQj3iUcT58uMoxXx/GU48ePD3YVhMiXUka+3bI9XbPdhXK1MisooGE5J1T7BGbfVmZPQPYEZt8Q7fefVvB3IUqT3D4WQlR7//jHP1i6dCn9+/cnLCzMuz86OrrQ5wUylrJ3794kJCQwdOhQUlJSSEpKon79+tSsWZNz586RkpJCbGwsP/zwA61atSqLtyeEEEKUXCDdsiHP3FK+3bJ9t/3KeIKxZsrTLVvTNCwmS57A7DmXSTP5BWQJzaIykjAuhKj2PvroIwDefvtt7z5N04rssh7IWMpu3brx7bff0r9/f8xmM5MmTSImJgZwz6bumcyoZcuWhXZRF0IIIQpUwORfBka+3bLdDxUmTN7H3lNlty575G5ltpj9A7JvK7PZZM63W7a0MguRP01VkSnSHQ5Hkd03lWFw/uAO7DKxkahGvv7TwIKLazu1wBoSXmjZ6th9szIJ5DrncmSRcWS3TOAmqpWv/zQw4+K6f7SVbuqVXCDXOfv5sziS92HXQsqpVqVIKQxlkF+37MIm/yr0lChvy7Jft2yfgFycbtlAnlZnEXyfH0onIiSUK9vVK7ScXOMqF2kZF6KK61ZP1hkvSmZmJsuWLeOvv/7iySefJCkpiYMHD3LNNdcEu2pCiAB0qyfrjBfGd+b0/BQ2m3q1lLuVWeWOy4V3y/adECy3orplmzWz+1g+3bJ9y3n3SStztdGnfhgxEREUvfCqqEwkjAtRxZ3MVNgUNAh2RSqwKVOm0LJlS3bs2AG4J12bMGGChHEhKomTmQqrknXGC+KZOf3gwYP88ssv3uXF/ve//9G6detgVu1vKWjyL0/XbHehvJN/aZqWp+XZNzznmfxLM7lbl/Pplu0JziDdskXZSs7QycKFTRZLqVIkjAtRxb2wI3udcVmXskCHDx/mxRdfJCEhAYCwsLA8LR5CiIrLc51b2CLYNamYPLOpjxo1irVr1xIZGendf9dddwWzaiXibkG24NAd3u7Uvq3M3tblYnTLzt3qLERF88SPZ7CY0ph/Y+FLnIrKRcK4EKLas9lsZGVleT+EHT58GJtNxlwLIaqWU6dO+V3bbDYbp06dCmKNSsZmtlE3qj6RTmewqyKEEH+LhHEhRLU3fvx4xo4dy19//cXDDz/Mjh07ePrpp4NdLSGEKFWDBg1i2LBh9OnTB4AvvviCIUOGBLlWQghRfUkYF0JUe127dqVly5bs3LkTpRSPPfYYsbGxwa6WEEKUGqUUgwYNonv37mzbtg2Ap59+mssuuyzINRNCiOpLwrgQotq7++67ue666+jZsyfh4YUv/yaEEJWRpmmMGzeO9evX07Jly2BXRwghBBLGhajyBl9iwoIR7GpUaHfccQcfffQR8+bNo3Xr1vTv359rrrmGkJBKuIatENWQXOcCc9lll5GYmEibNm2CXRUhRDGNbBpBZGhosKshSpmEcSGquE51ZJ3xonTq1IlOnTqh6zrff/8977//PlOnTmX79u3BrpoQIgCd6sg644HYuXMn69ev58ILLyQsLMy7f/369UGslRAiEN0uDJV1xqsgCeNCVHFHz7vXGZeVzQqXlZXFpk2b+Pjjj9m9ezeDBw8OdpWEEAE6et69zrisbFa4pUuXBrsKQogSOpTmItXlIErWGa9SJIwLUcW9kpi9znjzYNek4powYQK//PILXbt2ZdSoUXTq1AmTyRTsagkhAuS5zi1sFeyaVGz16tUD4PTp09jt9iDXRghRHM/8dBaL6TzzG9QKdlVEKZIwLoSo9oYNG8YLL7yA2WwGYNu2bSQkJDBjxowg10wIIUrPxo0befbZZzlx4gSxsbEcO3aMSy+9lISEhGBXTQghqqUybfrZvHkzffv2pU+fPixevDjP8WPHjnHLLbcwaNAgBg4cyFdffeU99uuvvzJixAgGDBjAwIED5Q6uEKLMdOvWjd9++43nnnuOnj17Mn/+fC655JJgV0sIIUrV/Pnzee+992jUqBGbNm1i+fLltG3bNtjVEkKIaqvMWsZ1XWfWrFksW7aM+Ph4hg0bRs+ePWncuLG3zMKFC+nXrx8jR45k//79jBs3jk2bNuFyuXjkkUeYO3cuzZs3JzU1FYtFGvGFEKXr4MGDJCQksGHDBmJiYujfvz9KKd56661gV00IIUqdxWIhJiYGwzAwDIMrr7ySOXPmBLtaQghRbZVZwk1MTKRhw4bUr18fgAEDBrBx40a/MK5pGufPnwcgLS2N2rVrA/Dtt9/SrFkzmjd3D3KNiYkpq2oKIaqxfv360bFjR/773//SsGFDAJYvXx7cSgkhRBmpWbMm6enpXHHFFUycOJHY2FjCw8ODXS0hhKi2yiyMJycnU6dOHe92fHw8iYmJfmXGjx/PmDFjWLFiBZmZmSxbtgxwt1ZpmsaYMWNISUmhf//+3HnnnWVVVSGqtBFNTFiVrL+bnwULFpCQkMCtt95Kt27dGDBgAErJ+khCVDYjmpiwyHWuSK+++iqhoaFMmTKF9evXk5aWxn333RfsagkhAnB7i0hZZ7wKCmrf74SEBAYPHswdd9zBjh07mDRpEhs2bEDXdX766SdWr15NWFgYt912G61ateKqq64q8Fxms5m4uLhCX08ZBplHLERHypoAovq4Ogoc51OIi43DGiotIL569+5N7969ycjIYOPGjbzxxhukpKQwY8YM+vTpQ9euXYNdRSFEYZRCc7m4PMKJNcIGmhbsGlVIhw4d4tSpU3To0AEAk8nE4MGD2bZtG2lpaUX2QNy8eTOzZ8/GMAyGDx/OuHHj/I4vW7aMVatWYTabiY2NZc6cOdSrV4/vv/+ep59+2lvujz/+4D//+Q+9e/cu/TcpRBXXKT6EmIhwWWe8iimzMB4fH8/x48e928nJycTHx/uVWb16NUuWLAGgffv22O12UlNTqVOnDldccQWxsbEAdO/end27dxcaxnVd5/Tpwv95KsNAd7k4c/ZsSd+WEJXOH2cVNqVjTTmNNSSz0LJ169Ytp1pVLOHh4QwcOJCBAwdy9uxZPvnkE1577TUJ40JUNIaB5nSh6U7AHbyN0FD2GeGYrWF0kDCerzlz5vDQQw/l2V+jRg3mzJnDokWLCnxuIHMAtWjRgjVr1hAWFsY777zD3LlzefHFF7nyyiv54IMPADhz5gz//Oc/6dKlS+m/QSGqgd/POKmRZSde2hSrlDKbTb1169YkJSVx5MgRHA4HCQkJ9OzZ069M3bp12bJlCwAHDhzAbrcTGxtL165d+f3338nMzMTlcrF161a/i74QInCv7dZZuDvYtag8oqKiGDFiBG+88UawqyKE0HU0ux1TRob7y25HhYbguuACnBfWxdGoAa668SxJdLH4+/PBrm2FderUKZo1a5Znf7Nmzfjzzz8Lfa7vHEA2m807B5CvK6+8krCwMADatWvn1xjj8emnn9KtWzdvOSFE8fzn53PM+fFUsKshSlmZtYxbLBamT5/O2LFj0XWdoUOH0qRJE+bPn0+rVq3o1asXkydPZtq0aSxfvhxN03jmmWfQNI2oqChuu+02hg0bhqZpdO/enauvvrqsqiqEEEKIisClo7mcaIaBphSG2YwrPBQ9NATDYsGwmjFQ7v+UC+VyAmAoHQsWNKRlPD9paWkFHsvKyir0uYHMAeRr9erVdO/ePc/+hIQEbr/99gBqK4QQ1UeZjhnv0aMHPXr08Ns3YcIE7+PGjRuzcuXKfJ97ww03cMMNN5Rl9YQQQghRlpQ7OBvKQHkeZ8dpFOByurudG+4jyhaCKywUFRqGYbOiWa2YMWMymTBhIsRkwWwyY8KExWTBpJkwaSZs5sNYLVY06aaer1atWvH+++/zr3/9y2//qlWraNmyZam9zgcffMCuXbtYsWKF3/4TJ07w+++/BzT0J5A5gMjKwpKVRUxk5N+prhCVisVyBk2pon8/RKUii3cLIYQQIn8qO0ijUConSHvCtOexCZN7Xy6apmHCHZgtJjMmpwuLrqEpExazFVN4DCoiEsJCwWrDZLFi0kxoaO7vAYZrTygX+Zs6dSrjx49n/fr13vC9a9cunE4nCxYsKPS5gcwBBPDdd9+xaNEiVqxYgc1m8zv28ccf06dPH6xWa5F1DWQOILKyiNN1UlNTizyfEFWFy+XEYjIX+ftRXef/qawkjAshhBBVVSFh2ncZPw2twDBt1sxoaFjM7m7gZpMZiynnsZb9nydEa1r2Y8M907nmcqGyz2VEhUFEBMpmA5sNTBKgy8MFF1zAypUr+f7779m3bx/g7r1Y2MS4Hr5zAMXHx5OQkMC8efP8yuzZs4fp06ezZMmSfFvtEhIS8p1ATgghqjsJ40JUcbc2l3XGhaisVHb3bgMDFBjZ/7mP5Q3P4G6t9oydzh2mzZoZTdP8ungXGKazHwdM18HpRNN1UArMZozwcFR4eE74LqNu5Hf/40KioqIAvUzOX1VceeWVXHnllcV6TiBzAD333HNkZGR4hyLWrVvXO0P70aNH+euvv+jUqVOpvx8hqpN7WtWghkyAWOVoqqC/5pWMw+EIaGmz8wd3YNdshZYToqoJUQ5CL2qBNaTwdcala1PFFsh1zuXIIuPIbhxynasQfMO075hp97HAW6Y946bNmhmTZsJsMnuDtYa7K7gnRAMlC9PF5XK5w7dhuMO31YoREQFhYe7wbbGU67rfcXFxRXdvRq5zFV0g1zmysohLTyfV6SyfSglRERgGMRERnI4qfG0zucZVLtIyLkQVtzfFwKqgw0XBrokQlY9Shl83b2+Yzh4v7S7kDs2+YdrTOu0JzGbMmMzuMG3WcoJ1fmHat3W6wlAKXC40p9P9GFA2G6pmTYywMHertyV4HykSj50nKt1Mw4igVUEIIcpU4ikHNdLNNCwijIvKRcK4EFXcm78amBR0aBPsmghRznxn8s41Zto3THu6dHvK+LYme1qiTZgwm7NbpTWze0Zvn0nDPJOUecJ1hQvTxaWUu9Xb5XL/TAAVEoIRG4sKCXGHb7M52LX0WvTdMazWk8y/4eJgV0UIIcrEwl1pWEwZzG+SdwJFUXlJGBeiKjEMMBSacn9HGWi6CSpxJhDVWBHLYvmG6fy6eEPeMO3bzTvfMdOa/+NqwzBywjfZk62FhaGio2WyNSGEEKKMSBgXoiLyjMFUKmc8pidke7kDiQYoz/+zmFFmE8piQZlNYLGgrFnuFqwgdiEV1VSumbyLG6Z9l8XyhGfPGtNmk9lvJu9qH6aLK7/J1iIi3JOtWa1lOtmaEEIIIdzk07kQZUkpb7D2D9UKMAANTWWHafcT3BsmDWUxo8xmlDXEG7Axm8FkQpk09wdlLfuxyVRgq5UynwKzJh+sRfEVc1ks31m8Idca08VYFkvCdBnINdmaslpRkZE54TuA9Z+FEEIIUbokjAsRiOxW6jxdwI3sUO3bQp0dR5RS7uBsyQ7QNpu7tdpszt5nzgnSvqFak+AsSkl2mPZdFiu/MF2QwpbFKnKN6bKeyVsUzHeytextZbOhoqIwQkODPtmaEEIIIdzkr7GofnzHVecO2V4Kd6t1TkfafLuAW8ygmXxaq3O1VFeAMDLmqigsYfKrXl24Q7KJTGeGN0z7jpf2hGnfmbw9Ybpcl8USpSe/ydZCQyvsZGtl4YEeFxEVFQ04gl0VIYQoEw+2q0mNUFlnvKqRT+ii8iqwC7hBTpjOpwu42eTu/m02gdlSQBdwd5Auqgt4ZXBxnBVrhBWMosuKys9sMlO/ZgNqyPq7VZfvZGtKoZlMGOHh1Xqytaa1womLqxHQOuNCCFEZNY22EhMRglzlqhYJ4yL4iuoC7tdCnb2er08XcO+4apPmbq02m6QLuI+df9qxhLroflHNYFdFlJPq9S+8GvBMtuZyubctFnf4jojIGe9dza5ruf14+Bw1z0Dz6GDXRAghysaPyXYiQzWayzrjVYqEcVG6ci+tRSFdwMkeV11YF3CTOaeFugJ2Aa8MVu1IQzNrdL9I1qUUolJwOt1jvg33dVNZLDLZWhGW/3gcq/W0rDMuhKiylu09j8WUyfwWdYNdFVGKJIyL/BXWBVz5LEeUuwu4xYwyubuBYzMX2AXcr6W6mnWnFEIIL5lsTQghhKi25C98VecN1RTSBdyzTnX2xD+Qtwu4J1SbtIK7gEuoFtXQ5s2bmT17NoZhMHz4cMaNG5enzEcffcSCBQvQNI3mzZszb94877Hz58/Tv39/evfuzfTp08uz6iIYfCdbMwz3sJtqNtmaEEIIIdwkjFcmubuAe0O17xJFubqAa6bsCcvy7wLuDdJo0gVciGLSdZ1Zs2axbNky4uPjGTZsGD179qRx48beMklJSSxevJh3332XqKioPBNMvfjii1xxxRXlXXVRXjyTrTmd7quz2YwRFuaebC0kxN3lXG5kCiGEENWShPFgKHQWcHJaqL2B2KcLuG+oNhXRBVxCtRBlKjExkYYNG1K/fn0ABgwYwMaNG/3C+Pvvv8+oUaOIyp5wJS4uznts165dnD59mm7durFr167yrbwoGy6XO3zruvv665lszXe8t1yXhRBCCIGE8b8nT6im4C7gkDMjeEFdwM1m/+W0pAu4KAX3dI3GEi6/6mUhOTmZOnXqeLfj4+NJTEz0K5OUlATAjTfeiGEYjB8/nu7du2MYBs8++yxz587lu+++K89qi9LkmWwte1UIZbWiatSQydbK2aO9GhAdHQ1kBbsqQghRJiZ3iKJmmKwzXtWU6Sf0osZSHjt2jEcffZS0tDR0XWfixIn06NGDo0eP0r9/fy6+2D0ratu2bZk1a1ZZVrXgLuDK8GnFyNUF3GTKaaG2WgvuAq6Z3IFcWqtFENSLtsg640Gk6zqHDh3irbfe4vjx49x8882sX7+eDz/8kO7du/uF+aKYzWa/lvV8uVxY0tOJiYz8mzUXeWSP98bp9E5kSY0aEBkJoaEQEiLjvYMkLg4sFgsuV0SwqyKEEGWiYQ0LMRE2WWe8iimzMB7IWMqFCxfSr18/Ro4cyf79+xk3bhybNm0CoEGDBnzwwQelXzFNw5ye7m6h1rKnK8uvC7jZ3XItXcBFZbf1UBbmUCd9Gsk646UtPj6e48ePe7eTk5OJj4/PU6Zt27ZYrVbq169Po0aNSEpKYseOHfz000+8++67pKen43Q6CQ8PZ+LEiQW+nq7recac5+FyEedykZqa+rfem8B9kzZ7pnOllHuytbAw9/rensnWTCZ3MM/MdH+JoPj6jzPUrFGTtrWK7kVWt64sCySEqHy+PpZFZCi0lXXGq5QyC+OBjKXUNI3z588DkJaWRu3atcuqOp4XxHlhHZwZTukCLqqND345j2bW6NMo8BZYEZjWrVuTlJTEkSNHiI+PJyEhwW+mdIDevXuTkJDA0KFDSUlJISkpifr16/uVW7t2Lbt27So0iItyYBjgcKDpursflMnknmwtJgZls7nDt9yErZDe3X4CqzVV1hkXQlRZ7/yejsWUxfxWFwa7KqIUlVkYD2Qs5fjx4xkzZgwrVqwgMzOTZcuWeY8dPXqUQYMGERkZyQMPPEDHjh1LpV4qNASlS/gWQvx9FouF6dOnM3bsWHRdZ+jQoTRp0oT58+fTqlUrevXqRbdu3fj222/p378/ZrOZSZMmERMTE+yqC8iZbM3IHsNhsWBERMhka0IIIYQoF0Gd1SkhIYHBgwdzxx13sGPHDiZNmsSGDRuoXbs2//vf/4iJiWHXrl3cd999JCQkEFnIGMhAxlIqpTh37hyRMTKWUlQfFusZDGUQFxuH1SyTSZW2Hj160KNHD799EyZM8D7WNI0pU6YwZcqUAs8xZMgQhgwZUmZ1FNl8J1szDJTNhqpZ0931XCZbE0IIIUQ5K7MwHshYytWrV7NkyRIA2rdvj91uJzU1lbi4OGw2GwCtWrWiQYMGHDx4kNatWxf4eoGMpVRK4dJcpKbLWEpRfbicLjSzxumU01hNhYcNGUspqgyl3MHb4fBuq9BQVHQ0Rmiou8u5TLYmRECKmpB32bJlrFq1CrPZTGxsLHPmzKFevXqAe7LeadOm8ddff6FpGosXL+aiiy4KxtsQQogKp8z6a/uOpXQ4HCQkJNCzZ0+/MnXr1mXLli0AHDhwALvdTmxsLCkpKei6DsCRI0e8YyyFEEKIfBkG2O1o6emQno6WmQlmM0atWuj16qFfcgnGRRehYmIgLEyCuBAB8kzIu2TJEhISEtiwYQP79+/3K9OiRQvWrFnD+vXr6du3L3PnzvUee/TRRxkzZgwff/wxq1atKnpFCCGEqEbKrGU8kLGUkydPZtq0aSxfvhxN03jmmWfQNI2tW7fy0ksvYbFYMJlMzJw5M3v9UCFEcT1wdYysMy6qHl13j/f2nWwtPNw93lsmW6t2ZvRt5J6LwZUe7KpUOYFMyHvllVd6H7dr144PP/wQgP379+NyuejSpQsAERGy9JwQJfVEp2iiwsODXQ1Rysr0E3pRYykbN27MypUr8zyvb9++9O3btyyrJkS1cUGkGWuERdYZF5Wb72RrSoHVihEZ6T/eW8J3tRVfw0ZcVCinT0sYL22BTMjra/Xq1XTv3h2ApKQkatasyfjx4zl69ChXXXUVEydOxCw9U4QotvhwMzERFllnvIqR5jIhqrhvDmRiDnVwXWNZZ1xUIp7J1rLDtwoJyZlszWYDi/z5Ejm++D2FyEgnV14ok/AF0wcffMCuXbtYsWIFAC6Xi23btrFu3Trq1q3Lgw8+yNq1axk+fHiB5whkQl6ysrBkZRFTyMS+QlQ1CfvOYD6VwbXXXBLsqohSJJ9mhKjiPtmbjmbWuK6xTM4mKiil3K3eTmfOrpAQVEwMRkiITLYmirQ28RRW61mulHXGS10gE/ICfPfddyxatIgVK1Z4J+GtU6cOLVq08HZx79WrFzt37iz09QKZkJesLOJ0ndRUmZBXVB9vJZ7EYjJzRZvCfz9kMt7KRcK4EEKI8mUY7vDtcrnHe2saRlgYKjo6Z7y3qczmFxVCFIPvhLzx8fEkJCQwb948vzJ79uxh+vTpLFmyxK9Vu3Xr1pw7d46UlBRiY2P54YcfaNWqVXm/BSGEqLAkjAshhChbPpOtoZR7lnOZbE2ISiGQCXmfe+45MjIyvPMC1a1bl0WLFmE2m3n00UcZPXo0AC1btiy0i7oQQlQ3EsaFEEKUrsImW/OM95bwLUSlUdSEvMuXLy/wuV26dGH9+vVlVTUhhKjUJIwLIYQoOaXcE605ne7HgLLZUDVrYoSFuVu9ZbI1IYQQQog85BOSEFXcpN4xWMJlhmFRSjyTrblcKKXQABUaihEbi5LJ1kSQzBlwCTExMaistGBXRQghysTTV8UQFR6OCnZFRKmSMC5EFVcz1Iw1zCzrjIuSkcnWRCUQHWYhNsLG6axg10QIIcpGdIiJmFCzrDNexVTLMJ7uTPfb1nCPXdR8xjDm3ufdzv6OlndfnrIyJlJUAJt+z8AcYmZIc1lnXAQgv8nWIiJyJluzWmW8t6hwEvacJjLSTo8GIcGuihBClIkNSRlE2HR6dIwKdlVEKapWYVzTNC6qeRGhzlAAVPb4RkMZqOz/DMPdfGhkNyP6lvHsy13GwHCXM3z2qYKbIRUKDc3dxTOfD7Uaml8ZCvncG+iNBN+bCH5lfMrKTYSqadPvGWhmjSHNg10TUSHlmmxNWa2oyEh3+LZa3eFbiAouYc9prNZz9Ggg64wLIUpB9ud/7/f89ql8OowXViZXea2QYyiV58Z3wh/pWKwOenQM5A2IyqJahXGAcGs4EdaIcns9T5hX2SM8lFI5j332FVUm55vyu0EA5H+TQLnLFlom+7sylP++fG4keG4O5PsefY75lvHW3aeM53tBwV9DK7Q3greM9EYQovh8J1vL3lY2GyoqCiM0VCZbE0IIkb9AQmZphdP8zuP7HM9nvdyf+ZTvJ09/mud5+YTcfM/tGX7lMwxL5X5dTfM+VrnLe777vlauY8rn+fmW95zb8/q2w3KDvAqST11lLHdYLKyVu6LxuymQ+4ZBfjcOCijjuTHgWya/mwSe3gmFlTFwl/P2XNBzbiR4nps7+Of73nId87uJkN0boaDny7AGUWnIZGtCCFH6igqiBYXKYrayBhRO/Z7g/zlC+T4/T+MHBR4jv2OBhFNPyPSdR6Q44TS/5+UTvL0/jfxCeX6BOdAyuR9XNCaTzNFSBUkYFwXy7bpe2W4iQCE9D3wCf6E3Enx6I/iWCXRYQ0FlfG8klMewBl3pWORXvXpRCs6fRzOZMMLDZbI1IUTVYxho588XHp4KCqf5Fc0pVHQLKuTfypn7dYsTTvNpJVW+ZQoJkAWG0+IG0MoWToWoAuQTuqhyKntvBCjdYQ0282GsZgsWTX7dqwWzGS66CKNmTZlsTQhRNdlsUK8eRlhYngCZJ5j6Pi7NFlQhhCgF8ulciAqkLG4kzB/UjNjYWDLSzvz9k4mKT9MgIgKyZI0nUX28cENjuc5VJyYT1KiBcjiCXRMhyo1c56om6a8oRBUXajURZpNxwUKIqkuuc0KIqk6uc1WTtIwLUcWt2XmSiMgMrr00PNhVEUKIMiHXOSFEVSfXuapJWsaFqOI27kvl413Jwa6GEEKUGbnOCSGqOrnOVU1lGsY3b95M37596dOnD4sXL85z/NixY9xyyy0MGjSIgQMH8tVXX+U53r59e5YuXVqW1RRCCCGEEEIIIcpVmXVT13WdWbNmsWzZMuLj4xk2bBg9e/akcePG3jILFy6kX79+jBw5kv379zNu3Dg2bdrkPf7MM8/QrVu3sqqiEEIIIYQQQggRFGXWMp6YmEjDhg2pX78+NpuNAQMGsHHjRr8ymqZx/vx5ANLS0qhdu7b32BdffEG9evVo0qRJWVVRCCGEEEIIIYQIijIL48nJydSpU8e7HR8fT3Ky/ziH8ePHs379erp37864ceOYNm0aAOnp6bz22muMHz++rKonhBBCCCGEEEIETVBnU09ISGDw4MHccccd7Nixg0mTJrFhwwYWLFjA6NGjiYiICPhcZrOZuLi4Isv9f3t3H1N1+f9x/HUARVBHiXq8q5VLnFPyJnXRBG8jl2KC4TLTojVYNdG0JaGBw2S6adModA6XJsMyt6Cy0mkOnXd4V5s36TRMJYUNERGTm8P1/cN5fh65CfnJAc7n+fjL87mu65zrc861l3tzPudz+fj4NKof4Cm+jQuRj4+PqqurW3oqANAs0l8NUmBgoIqLi1t6KgDQLMg5z9Rsxbjdbte1a9ecjwsLC2W32136bNu2TRkZGZKkoUOHqqKiQiUlJfrjjz+0Y8cOrVy5Ujdv3pSXl5d8fX31xhtv1Pt6DoejUYuTRQwrauy679mzpxtmAwAAAKDZivHg4GBdvHhRly9flt1u1/bt27Vq1SqXPj179tTBgwcVFRWlCxcuqKKiQl26dFFWVpazT1pamvz9/RssxAEAAAAAaEuarRj38fFRUlKS3nnnHTkcDk2bNk39+vXTmjVrNGjQII0fP14JCQlavHixNm7cKJvNpuXLl8tmszXXlAAAAPCQ9u7dq2XLlqmmpkbR0dGKjY11af/qq6/03XffydvbW126dFFqaqp69+4tSRowYICCgoIk3f0SZt26dW6fPwC0VjZjjGnpSTwKlZWVXKYO1IPL1D0DOQfUj5xrHg6HQy+99JLLVrWfffaZy1a1hw4d0uDBg+Xn56esrCzl5eVp9erVku7+DPHEiRONfj1yDqhfY9Y9Gde2NNvd1AEAANC2NWar2ueff15+fn6SpCFDhrjcMwgAUD+KcQAAANSpMVvV3m/btm0KCwtzPq6oqFBUVJSmT5+uXbt2NetcAaCtadGtzQAAAOAZcnJydPLkSWVmZjqP7dmzR3a7XZcvX9abb76poKAgPfnkk/U+B1vVAvVj3XseinEAAADUqTFb1UrSgQMHtG7dOmVmZqp9+/Yu4yXpiSee0MiRI3X69OkGi3G2qgXqx2/GPQ+XqQMAAKBO929VW1lZqe3bt2vcuHEufU6fPq2kpCStXbvW5Vu70tJSVVZWSpKuX7+u48ePu9z4DQCszmPupg4AAIBHLzc3V6mpqc6tat99912XrWrfeustnTt3Tt26dZP0f1uYHT9+XMnJybLZbDLGaPbs2YqOjm7hswGA1oNiHAAAAAAAN+MydQAAAAAA3IxiHAAAAAAAN6MYBwAAAADAzSjGAQAAAABwM4pxAAAAAADcrM0V4x9//LFCQkI0efJk57EbN24oJiZG4eHhiomJUWlpqbOtqqpKkZGR9Y5taLwxRp9++qlefPFFRURE6NSpU244Q6C2pq77q1evatasWXr55Zc1adIkbdq06T/Hs+5bHjkHKyLnrIOMg1WRc3hQmyvGo6KilJGR4XJs/fr1CgkJ0c6dOxUSEqL169c7244dO6Zhw4bVO7ah8Xv37tXFixe1c+dOLV26VEuWLGm+EwMa0NR17+3trYSEBP3888/69ttvlZWVpfPnzzc4nnXf8sg5WBE5Zx1kHKyKnMOD2lwxPmLECAUEBLgc2717t6ZOnSpJmjp1qnbt2uVs27dvn8LCwuod29D4e8dtNpuGDBmimzdvqqioqBnOCmhYU9d99+7dNXDgQElSp06d1LdvXxUWFjY4nnXf8sg5WBE5Zx1kHKyKnMOD2lwxXpfi4mJ1795dktStWzcVFxc72w4fPqyRI0c2aXxhYaF69Ojh7NejRw/nwgda2sOu+ytXrujMmTMaPHhwg+NZ960TOQcrIuesg4yDVZFz1uYRxfj9bDabbDabpLuLMCAgQH5+fk0aD7QV/7Xuy8vLFR8fr8TERHXq1KnB8Wj9yDlYETlnHWQcrIqcsx6PKMYDAwOdl10UFRWpS5cuku7+ViI0NLTJ4+12u65du+bsd+3aNdnt9kc9faBJGrvuq6qqFB8fr4iICIWHh//neNZ960TOwYrIOesg42BV5Jy1eUQxPm7cOGVnZ0uSsrOzNX78eEl3f2fRmACvb/y948YY/f777+rcubPzMhCgpTVm3RtjtGjRIvXt21cxMTGNGs+6b53IOVgROWcdZBysipyzNpsxxrT0JB7G/PnzlZeXp5KSEgUGBmrOnDmaMGGC5s2bp6tXr6pXr15avXq1OnfurGnTpjkXZ31jo6OjVVJSUmv8Y489JmOMUlJStG/fPvn5+Sk1NVXBwcEtd/KwrKau+6NHj2rmzJkKCgqSl5eX87lGjx7Num/FyDlYETlnHWQcrIqcw4PaXDHeWEePHtUPP/yglJSUlp4K4Dase2vh84YVse6tg88aVsXatw6PLcYBAAAAAGitPOI34wAAAAAAtCUU4wAAAAAAuBnFOAAAAAAAbkYxDgAAAACAm1GMt1FXrlzR5MmT62xbs2aNDhw4UOv44cOHFRcXV+eYcePG6fr16490jvdcuXJFP/744yPr11Rbtmxx2R4FQOtGzj08cg5oW8i5h0fOwZNQjHuguXPn6oUXXmjpaTgVFBTop59+emT9mmrGjBmaOnVqsz0/APch5+pGzgGeg5yrGzkHT+LT0hNA0zkcDi1evFgnTpyQ3W5Xenq6OnTooISEBI0ZM0YTJ07U3r17lZqaKj8/Pz333HPOsSUlJVqwYIEKCws1ZMgQ3b/DXU5OjjZv3qyqqioNHjxYycnJ8vb21tChQzV79mzt2bNHHTp0UHp6urp27eoyp7y8PC1btkySZLPZlJmZqVWrVunChQt65ZVXFBkZqQkTJuijjz7Sv//+K0n65JNPNGzYsFr9Zs2apZUrVyovL0+VlZWaOXOmXnvtNRUVFemDDz7QrVu35HA4tGTJEg0fPtxlHitXrtRvv/0mb29vjRo1SgsXLlRaWpr8/f01efJkxcbGOvueO3dOu3btkp+fn5KTk/XPP/9IkhITE13eMwDuR86Rc4CnI+fIOViYQZt0+fJlM2DAAHP69GljjDHx8fEmOzvbGGPMwoULzS+//GLu3LljwsLCTH5+vqmpqTHx8fEmNjbWGGPM0qVLTVpamjHGmD179pigoCBTXFxszp8/b+Li4kxlZaUxxpjk5GTz/fffG2OMCQoKMrt37zbGGLNixQrz5Zdf1ppXXFycOXr0qDHGmFu3bpmqqipz6NAh5+saY8zt27fNnTt3jDHG5Ofnm8jISGOMqdXvm2++cb5GRUWFiYyMNJcuXTIbNmww6enpxhhjqqurTVlZmcscrl+/bsLDw01NTY0xxpjS0lJjjDGff/65ycjIcOmbmZlp4uPjjTHGzJ8/3xw5csQYY0xBQYGZOHFiwx8CgGZFzpFzgKcj58g5WBvfjLdhffr00YABAyRJAwcOVEFBgUv7X3/9pT59+uipp56SJE2ZMkVbt26VJB05ckRffPGFJGnMmDEKCAiQJB08eFAnT57Uq6++Kkm6c+eOAgMDJUnt2rXT2LFjJUmDBg3S/v37a81p2LBhWr58uSIiIhQeHq6OHTvW6lNdXa2UlBT9+eef8vLy0sWLF+s8v/379+vs2bPasWOHJKmsrEx///23goODlZiYqOrqak2YMMH5HtzTuXNn+fr6KjExUWPHjtWYMWPqfP5jx45p69atysrKkiQdOHBA58+fd7bfunVL5eXldZ4DAPcg58g5wNORc+QcrItivA1r376989/e3t6qqKj4fz+nMUaRkZFasGBBrbZ27drJZrNJkry8vORwOGr1iY2N1ejRo5Wbm6sZM2YoIyOjVp+NGzeqa9euysnJUU1NjZ599tl657J48WKFhobWasvMzFRubq4SEhIUExPj8tshHx8fbdu2TQcPHtSvv/6qzMxMff311y7ji4qKtGjRIq1du9YZzjU1Ndq6dat8fX3rf4MAuBU5R84Bno6cI+dgXdzAzYP17dtXBQUFunTpkiRp+/btzrYRI0Y473SZm5ur0tJSSVJISIh27Nih4uJiSdKNGzdq/YW2IZcuXVL//v0VGxur4OBg5efnq2PHjiovL3f2KSsrU7du3eTl5aWcnBznfwIP9hs1apS2bNmiqqoqSVJ+fr5u376tgoICde3aVdOnT1d0dLROnTrlMofy8nKVlZVp9OjRSkxM1NmzZ13aq6qqNHfuXH344Yd6+umnXV5v8+bNzsdnzpxp9HkDaBnkHDkHeDpyjpyD5+KbcQ/m6+urlJQUxcbGOm/4cS8c33//fS1YsECTJk3S0KFD1atXL0nSM888o3nz5untt99WTU2N2rVrp6SkJPXu3btRr7lp0yYdPnxYNptN/fr1U1hYmGw2m7y8vDRlyhRFRUXp9ddf15w5c5Sdna3Q0FD5+/tLkvr37+/Sb/bs2SooKFBUVJSMMXr88ceVnp6uvLw8bdiwQT4+PvL399eKFStc5lBeXq733nvP+ZflhIQEl/YTJ07o5MmTSktLU1pamiRp/fr1WrRokVJSUhQRESGHw6Hhw4crJSWl6R8AgGZHzpFzgKcj58g5eC6bMffddhEAAAAAADQ7LlMHAAAAAMDNKMYBAAAAAHAzinEAAAAAANyMYhwAAAAAADejGAcAAAAAwM0oxgEAAAAAcDOKcQAAAAAA3IxiHAAAAAAAN/sf3wsEwU8pFCwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1080x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+MAAAEoCAYAAAAzNCCOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAC3fklEQVR4nOzdd3xUVfrH8c+dmkx6AgREinSkS1Np0hYFUepPBcsqiKLssmsFRFQUO6ysWBZBUFFZBReF2EFpooIgiBQB6SWQnkwmU+69vz8mmWRIm0CSSXnevvIiM3PvzJkxubnfe855jqLruo4QQgghhBBCCCEqjSHYDRBCCCGEEEIIIWobCeNCCCGEEEIIIUQlkzAuhBBCCCGEEEJUMgnjQgghhBBCCCFEJZMwLoQQQgghhBBCVDIJ40IIIYQQQgghRCWTMC6EEELUAK1bt+bLL78MaNtp06Zxzz33VHCLhBAX4vrrr+fVV18NdjMK+eSTT+jSpUvA25flmCREbaXIOuO10++//86YMWPo1KkTy5cv93vsxIkTDBw4kBUrVtChQwe/x2677TZatmzJrFmzfPft3buX//znP2zdupX09HQaNGhA165dufPOO2ndunWRrz9t2jT+97//AWA0GqlXrx79+vXjgQceICoqym/bnTt38sYbb7B9+3ays7O59NJLuf7667n77ruxWq1+215IW4QQFaekY40oX+fOnSMqKgqLxVLqtpmZmei6TmRkZCW0TIjqLSkpiTfffJPvv/+eM2fOEBMTQ+vWrbntttvo169fub/e9ddfz5AhQ/jb3/5W5OOffPIJ06dP992uW7cuXbt25aGHHqJRo0bl3p48OTk52O124uLiAtq+LMeksnK73Xz66ad88cUXHDhwALfbTcOGDenfvz+33XZboWPb1q1bWbx4Mb///jtnz57lueeeY9SoUX7b6LrOggUL+O9//0tGRgadOnVi1qxZtGzZ0rdNeno6zzzzDOvWrQNgwIABPP7443IsFRdMesZrqY8//phx48Zx4MABDh06dMHP89133zF27Fiys7N58cUX+eKLL5g3bx5169Zl7ty5Je579dVXs2nTJtatW8czzzzDd999x1NPPeW3zdq1axk/fjwxMTEsWbKEr776iilTpvDf//6Xu+66C5fLVS5tEUJUjPI61gTK7XZX+GuUt4LHsYtRt27dgE96IyIi5ORRiACcOHGCkSNHsmnTJh544AE+++wzli5dyjXXXMMTTzxxwc+raRqqql7w/qGhoWzatImNGzfy8ssvs2/fPu67775in7M8jo0hISEBB3Eo2zGpLE6cOMGYMWNYunQp/fv3Z968eSxdupR77rmH/fv3c91117Fjxw6/fbKzs2nVqhWPPfYYISEhRT7vW2+9xdtvv83jjz/OihUriI2N5c477yQrK8u3zYMPPsiePXtYtGgRixYtYs+ePTzyyCPl/h5FLaKLWsfhcOhdu3bV9+3bp0+fPl1//vnn/R4/fvy43qpVK33Xrl2F9r311lv1p556Std1Xc/OztZ79uyp33PPPUW+Tnp6erFtePTRR/VJkyb53ffcc8/pPXr08N3Oe/7JkycX2n/37t1669at9bfeeuui2yKEqBglHWseeOABfcqUKX7bq6qq9+3bV3/77bd1Xdd1TdP0hQsX6gMHDtQ7dOigX3/99fqqVat82+cdq1avXq3fdttteocOHfT33ntPT0lJ0f/5z3/qffr00Tt06KAPHTpUX7Fihd9r2e12/eGHH9Y7d+6sX3XVVfqbb76pT5o0SX/00Ud92zidTv3FF1/U+/Tpo3fs2FEfNWqUvmHDhhLf86233qo//vjj+tNPP61369ZN79atm/7888/rqqr6tunfv7/+73//W582bZretWtX/W9/+5uu67r+yy+/6OPHj9c7duyo9+7dW581a5aemZnp20/TNH3x4sX64MGD9Xbt2ul9+vTRX375Zd/jrVq10r/44gvf7VdffVW/5ppr9Hbt2ulXX321/vDDD/seO/8Y7HQ69WeeeUa/6qqr9Pbt2+tjx47Vt27d6nv8xx9/1Fu1aqX/8MMP+pgxY/SOHTvqI0eO1Hfv3l3i5yFEdTdx4kS9d+/eelZWVqHHCp5bvP322/r111+vd+rUSe/du7c+Y8YMv8dXrlypd+7cWf/+++/1YcOG6W3bttX379+vJyUl6ffee6/eoUMH/ZprrtE//vhjfdiwYfq///3vYtuU91wFffrpp3qrVq30Q4cO+X5fv//+e3306NF6u3bt9HXr1pV6TNV1XT9z5oz+wAMP6D169NA7duyo33DDDfqWLVuKfN1Tp07p9957r969e3e9Y8eO+pAhQ/Q1a9b4Hj//mLRv3z79jjvu0Dt06KB3795df/TRR/WM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ForSrFkzNE1j165dvvtOnToV0L6KotCkSRMaNWoU0AW2QI6pl19+Ofv37y/Thcv69etz0003MX/+fP7+97/z3//+t9jX/+OPP/w6enbs2IGmaQEfZ2JiYvB4PL7Pp1u3bixcuJDs7GxSU1N9tTkOHDjAU089xYQJEwJ+H5deeil169blhx9+8N3ndDrZtm2bbzpQly5dyM7O9psfvmPHDt8oBSEuhITxWuT7778nNTWVsWPH0qpVK7+voUOH8sknn/hOIO+8807eeustPv30U44dO8auXbt46KGHiImJ8Q1nt9lsPPPMM2zatIlJkyaxefNmTpw4we+//84rr7zCQw89VKb29ezZkxYtWvDGG2/4Pf/69euZPn06e/bs4dSpUyQkJDB58mS6du3K7bffXiFtEUJcuLIca4YPH87HH3/M999/zw033OB7jvDwcO666y5efPFFVqxYwdGjR9m7dy8ffvhhsSd7eZo2bcqWLVvYtm0bhw4dYvbs2Zw4ccL3eFhYGKNGjeLll19my5YtHDx4kJkzZ6Jpmq+347LLLmP48OFMnz6dL7/8kuPHj/Pbb7+xePFivv766xJf/+zZs8yZM4c///yTL7/8ksWLFxfZ413Q3Xffza5du5g1axZ79uzh6NGjfPfdd8yaNcv3edx+++3MmzePlStX+o7LH3zwQZHP98knn/Dxxx+zf/9+jh8/zieffILZbC6yp8hms3HLLbfw8ssvs379eg4dOsSTTz5JcnIy48aNK7HdQtR0ecuXjR49mi+++II///yTQ4cO8cEHH/iOWU2aNEHTNN555x2OHz/OmjVrChVtLEqzZs3o06cPTzzxBDt27GDv3r1MmzatXEbfnC+QY+r1119PXFwc9913H9u2beP48eOsXbuWH3/8scjnfOaZZ9iwYQPHjx9n7969bNy4kRYtWhS57fDhwwkJCeHRRx9l//79bN26lVmzZvGXv/wl4B5sg8HAwIEDef/99wF47LHHOHToEF27dmXAgAFcccUVnDx5kokTJ3Lrrbf6rSNut9vZu3cve/fuRdM0Tp06xd69ezl16hTgvbhx++2389Zbb/H111/zxx9/MG3aNGw2G9dffz3gvaBQ8P/Xjh07eOKJJ+jfvz/NmjUL7H+EEOeRYeq1yIoVK+jZsycxMTGFHrvuuuuYO3cumzdvpnfv3kycOBGbzcaiRYs4ceIEERERdO3alXfffdfvj8SgQYNYvnw5Cxcu5OGHHyYjI4P69evTrVs3Hn744TK38c4772T69OncfffdNGzYkMGDB7Ns2TLefPNN7rjjDhwOBw0bNmTs2LFMmjTJb7hSebdFCHFhynKsufHGG3n11VeJi4vzq2IL8I9//IM6derw9ttv8+STTxIeHk7btm2LXGGhoMmTJ3PixAnuvvtuQkJCGDlyJMOHD/eb//zoo4/icDiYPHkyNpuNv/71ryQlJfkdU5577jnefPNNXnrpJRITE4mKiqJDhw707NmzxNcfPnw4mqbxf//3fyiKwpgxY0oN423atGHZsmW88sor3HrrrWiaRqNGjfwKOT344INERUXx+uuvk5iYSFxcHCNGjCjy+SIjI3nrrbd44YUX8Hg8NG/enFdffbXYAkt5x8jp06eTkZHB5ZdfzltvvRXQ3FUharJGjRrxySef8J///IeXX36ZxMREoqOjadOmDbNnzwa8v7+PPfYYb731Fq+88gpdunThkUce8St+WJznn3+emTNncscddxATE8OUKVPK1DNdFqUdU202G8uWLeP555/n3nvvxe12c9lll/kV1y1I13WeeeYZTp8+TVhYGFdddRXTpk0rctvQ0FAWL17Ms88+y9ixY7FarQwcONBXJyRQ999/P2PGjKFDhw4MGjSIzz77jKSkJMLDwzGZTNx2221FDhnfvXu3rwMH4NVXX+XVV19l5MiRPP/884D3oqjT6WT27Nmkp6fTqVMn3n77bb9RTXPnzuXpp5/29boPGDDAd9FUiAuh6FL5SgghRC3ncrno378/EyZM8KtoXla33XYbLVu2lJMzIYSoID/++CNTp05lyJAh3HLLLbRq1QqDwcDhw4d5//33SUpK8hVyE6Kqk55xIYQQtc6ePXs4dOgQHTt2xG6389Zbb2G32xk6dGiwmyaEEKIEV155JatWreL111/nr3/9KxkZGRgMBsLDw7n++ut5/PHHg91EIQImYVwIIUSttGTJEg4fPozJZPINE5cluoQQoupr0KABTz/9NE899RQpKSmoqkrdunV9a7oLUV3IMHUhhBBCCCGEEKKSyeUjIYQQQgghhBCikkkYF0IIIYQQQgghKpmEcSGEEEIIIYQQopJJGBdCCCGEEEIIISqZhHEhhBBCCCGEEKKSSRgXQgghhBBCCCEqmYRx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\n",
      "text/plain": [
       "<Figure size 1080x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "parameters_dict=dict(performances_df_lstm_attn['Parameters'])\n",
    "performances_df_lstm_attn['Parameters summary']=[str(parameters_dict[i]['clf__max_epochs'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__module__hidden_size_lstm'])\n",
    "                                   for i in range(len(parameters_dict))]\n",
    "\n",
    "performances_df_lstm_attn_subset = performances_df_lstm_attn[performances_df_lstm_attn['Parameters'].apply(lambda x:x['clf__lr']== 0.0001 and x['clf__batch_size']==128 and x['clf__max_epochs']==10 and x['clf__module__p']==0.2).values]\n",
    "summary_performances_lstm_attn_subset=get_summary_performances(performances_df_lstm_attn_subset, parameter_column_name=\"Parameters summary\")\n",
    "indexes_summary = summary_performances_lstm_attn_subset.index.values\n",
    "indexes_summary[0] = 'Best estimated parameters'\n",
    "summary_performances_lstm_attn_subset.rename(index = dict(zip(np.arange(len(indexes_summary)),indexes_summary)))\n",
    "get_performances_plots(performances_df_lstm_attn_subset, \n",
    "                       performance_metrics_list=['AUC ROC', 'Average precision', 'Card Precision@100'], \n",
    "                       expe_type_list=['Test','Validation'], expe_type_color_list=['#008000','#FF0000'],\n",
    "                       parameter_name=\"hidden states size\",\n",
    "                       summary_performances=summary_performances_lstm_attn_subset)\n",
    "\n",
    "performances_df_lstm_attn_subset = performances_df_lstm_attn[performances_df_lstm_attn['Parameters'].apply(lambda x:x['clf__lr']== 0.0001 and x['clf__batch_size']==128 and x['clf__module__hidden_size_lstm']==100 and x['clf__module__p']==0.2).values]\n",
    "summary_performances_lstm_attn_subset=get_summary_performances(performances_df_lstm_attn_subset, parameter_column_name=\"Parameters summary\")\n",
    "indexes_summary = summary_performances_lstm_attn_subset.index.values\n",
    "indexes_summary[0] = 'Best estimated parameters'\n",
    "summary_performances_lstm_attn_subset.rename(index = dict(zip(np.arange(len(indexes_summary)),indexes_summary)))\n",
    "get_performances_plots(performances_df_lstm_attn_subset, \n",
    "                       performance_metrics_list=['AUC ROC', 'Average precision', 'Card Precision@100'], \n",
    "                       expe_type_list=['Test','Validation'], expe_type_color_list=['#008000','#FF0000'],\n",
    "                       parameter_name=\"epochs\",\n",
    "                       summary_performances=summary_performances_lstm_attn_subset)\n",
    "\n",
    "parameters_dict=dict(performances_df_lstm_attn['Parameters'])\n",
    "performances_df_lstm_attn['Parameters summary']=[str(parameters_dict[i]['clf__max_epochs'])+\n",
    "                                   '/'+\n",
    "                                    str(parameters_dict[i]['clf__batch_size'])+\n",
    "                                   '/'+\n",
    "                                   str(parameters_dict[i]['clf__module__hidden_size_lstm'])+\n",
    "                                   '/'+                           \n",
    "                                   str(parameters_dict[i]['clf__module__p'])\n",
    "                                   for i in range(len(parameters_dict))]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "88cf27b1",
   "metadata": {},
   "source": [
    "For the same set of hyperparameters, the convergence w.r.t the average precision is different than LSTM without Attention."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "efb69b04",
   "metadata": {},
   "source": [
    "\n",
    "## Saving of results\n",
    "\n",
    "Let us save the performance results and execution times of these three models in a Python pickle format."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "848bc642",
   "metadata": {},
   "outputs": [],
   "source": [
    "performances_df_dictionary={\n",
    "    \"CNN\": performances_df_cnn,    \n",
    "    \"LSTM\": performances_df_lstm,    \n",
    "    \"LSTM_Attention\": performances_df_lstm_attn,\n",
    "}\n",
    "\n",
    "execution_times=[execution_time_cnn,execution_time_lstm,execution_time_lstm_attn]\n",
    "\n",
    "filehandler = open('performances_model_selection_seq_model.pkl', 'wb') \n",
    "pickle.dump((performances_df_dictionary, execution_times), filehandler)\n",
    "filehandler.close()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "242f0d55",
   "metadata": {},
   "source": [
    "## Benchmark summary\n",
    "\n",
    "Let us finally retrieve the performance results obtained in\n",
    "\n",
    "* [Chapter 5](Model_Selection_Comparison_Performances) with decision tree, logistic regression, random forest and XGBoost, and\n",
    "* [Chapter 7, Section 2](Model_Selection_FFNN) with feed-forward neural networks\n",
    "\n",
    "and compare them with those obtained with CNN, LSTM, and LSTM with Attention. \n",
    "\n",
    "The results can be retrieved by loading the `performances_model_selection.pkl`, `performances_model_selection_nn.pkl` and `performances_model_selection_seq_model.pkl` pickle files, and summarized with the `get_summary_performances` function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "52c5a1c2",
   "metadata": {
    "tags": [
     "hide-cell"
    ]
   },
   "outputs": [],
   "source": [
    "# Load performance results for decision tree, logistic regression, random forest and XGBoost\n",
    "filehandler = open('../Chapter_5_ModelValidationAndSelection/performances_model_selection.pkl', 'rb') \n",
    "(performances_df_dictionary, execution_times) = pickle.load(filehandler)\n",
    "\n",
    "# Load performance results for feed-forward neural network\n",
    "filehandler = open('performances_model_selection_nn.pkl', 'rb') \n",
    "(performances_df_dictionary_nn, execution_times_nn) = pickle.load(filehandler)\n",
    "\n",
    "# Load performance results for CNN, LSTM and LSTM with Attention\n",
    "filehandler = open('performances_model_selection_seq_model.pkl', 'rb') \n",
    "(performances_df_dictionary_seq_model, execution_times_seq_model) = pickle.load(filehandler)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "8eab18a4",
   "metadata": {
    "tags": [
     "hide-cell"
    ]
   },
   "outputs": [],
   "source": [
    "performances_df_dt=performances_df_dictionary['Decision Tree']\n",
    "summary_performances_dt=get_summary_performances(performances_df_dt, parameter_column_name=\"Parameters summary\")\n",
    "\n",
    "performances_df_lr=performances_df_dictionary['Logistic Regression']\n",
    "summary_performances_lr=get_summary_performances(performances_df_lr, parameter_column_name=\"Parameters summary\")\n",
    "\n",
    "performances_df_rf=performances_df_dictionary['Random Forest']\n",
    "summary_performances_rf=get_summary_performances(performances_df_rf, parameter_column_name=\"Parameters summary\")\n",
    "\n",
    "performances_df_xgboost=performances_df_dictionary['XGBoost']\n",
    "summary_performances_xgboost=get_summary_performances(performances_df_xgboost, parameter_column_name=\"Parameters summary\")\n",
    "\n",
    "performances_df_nn=performances_df_dictionary_nn['Neural Network']\n",
    "summary_performances_nn=get_summary_performances(performances_df_nn, parameter_column_name=\"Parameters summary\")\n",
    "\n",
    "performances_df_cnn=performances_df_dictionary_seq_model['CNN']\n",
    "summary_performances_cnn=get_summary_performances(performances_df_cnn, parameter_column_name=\"Parameters summary\")\n",
    "\n",
    "performances_df_lstm=performances_df_dictionary_seq_model['LSTM']\n",
    "summary_performances_lstm=get_summary_performances(performances_df_lstm, parameter_column_name=\"Parameters summary\")\n",
    "\n",
    "performances_df_lstm_attention=performances_df_dictionary_seq_model['LSTM_Attention']\n",
    "summary_performances_lstm_attention=get_summary_performances(performances_df_lstm_attention, parameter_column_name=\"Parameters summary\")\n",
    "\n",
    "summary_test_performances = pd.concat([summary_performances_dt.iloc[2,:],\n",
    "                                       summary_performances_lr.iloc[2,:],\n",
    "                                       summary_performances_rf.iloc[2,:],\n",
    "                                       summary_performances_xgboost.iloc[2,:],\n",
    "                                       summary_performances_nn.iloc[2,:],\n",
    "                                       summary_performances_cnn.iloc[2,:],\n",
    "                                       summary_performances_lstm.iloc[2,:],\n",
    "                                       summary_performances_lstm_attention.iloc[2,:],\n",
    "                                      ],axis=1)\n",
    "summary_test_performances.columns=['Decision Tree', 'Logistic Regression', 'Random Forest', 'XGBoost', \n",
    "                                   'Neural Network', 'CNN', 'LSTM', 'LSTM with Attention']\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9a149c6e",
   "metadata": {},
   "source": [
    "The results are summarized in a `summary_test_performances` table. Rows provide the average performance results on the test sets in terms of AUC ROC, Average Precision and CP@100. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "838a138c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Decision Tree</th>\n",
       "      <th>Logistic Regression</th>\n",
       "      <th>Random Forest</th>\n",
       "      <th>XGBoost</th>\n",
       "      <th>Neural Network</th>\n",
       "      <th>CNN</th>\n",
       "      <th>LSTM</th>\n",
       "      <th>LSTM with Attention</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>AUC ROC</th>\n",
       "      <td>0.797+/-0.01</td>\n",
       "      <td>0.868+/-0.02</td>\n",
       "      <td>0.87+/-0.02</td>\n",
       "      <td>0.869+/-0.01</td>\n",
       "      <td>0.876+/-0.01</td>\n",
       "      <td>0.872+/-0.01</td>\n",
       "      <td>0.876+/-0.02</td>\n",
       "      <td>0.874+/-0.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Average precision</th>\n",
       "      <td>0.579+/-0.01</td>\n",
       "      <td>0.623+/-0.02</td>\n",
       "      <td>0.678+/-0.01</td>\n",
       "      <td>0.687+/-0.01</td>\n",
       "      <td>0.675+/-0.01</td>\n",
       "      <td>0.599+/-0.01</td>\n",
       "      <td>0.665+/-0.02</td>\n",
       "      <td>0.667+/-0.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Card Precision@100</th>\n",
       "      <td>0.284+/-0.0</td>\n",
       "      <td>0.297+/-0.01</td>\n",
       "      <td>0.299+/-0.01</td>\n",
       "      <td>0.303+/-0.01</td>\n",
       "      <td>0.303+/-0.02</td>\n",
       "      <td>0.288+/-0.01</td>\n",
       "      <td>0.297+/-0.01</td>\n",
       "      <td>0.295+/-0.01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   Decision Tree Logistic Regression Random Forest  \\\n",
       "AUC ROC             0.797+/-0.01        0.868+/-0.02   0.87+/-0.02   \n",
       "Average precision   0.579+/-0.01        0.623+/-0.02  0.678+/-0.01   \n",
       "Card Precision@100   0.284+/-0.0        0.297+/-0.01  0.299+/-0.01   \n",
       "\n",
       "                         XGBoost Neural Network           CNN          LSTM  \\\n",
       "AUC ROC             0.869+/-0.01   0.876+/-0.01  0.872+/-0.01  0.876+/-0.02   \n",
       "Average precision   0.687+/-0.01   0.675+/-0.01  0.599+/-0.01  0.665+/-0.02   \n",
       "Card Precision@100  0.303+/-0.01   0.303+/-0.02  0.288+/-0.01  0.297+/-0.01   \n",
       "\n",
       "                   LSTM with Attention  \n",
       "AUC ROC                   0.874+/-0.02  \n",
       "Average precision         0.667+/-0.01  \n",
       "Card Precision@100        0.295+/-0.01  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "summary_test_performances"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9cf8c1db",
   "metadata": {},
   "source": [
    "In the end, it appears that neural-network based approaches provide results that are competitive with random forests and XGBoost, providing slightly better performances in terms of AUC ROC, and slightly worse performances in terms of Average Precision. However, it should be kept in mind that, given more computational resources, a more extensive hyperparameter tuning could be performed for neural network-based approaches that would likely lead to further improve their performances. \n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7e30e8ff",
   "metadata": {},
   "source": [
    "## Conclusion"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "014056f8",
   "metadata": {},
   "source": [
    "In this section, automatic methods to build features from contextual data were explored. To classify a transaction as fraudulent or genuine, it is generally useful to resort to the regular behavior of the cardholder in order to detect a discrepancy. A manual method to integrate this contextual information is to proceed with feature engineering and the creation of expert feature aggregations. \n",
    "\n",
    "Automatic representation learning methods from the Deep Learning literature have been explored to create features that represent the cardholder's sequence of previous transactions in a way that optimizes the classification of the current transaction. \n",
    "\n",
    "The key methodological components are the building of the data pipeline to automatically create the sequential data from landmark variables and the right combination of adapted neural networks such as the 1D-CNN, the LSTM, the Attention mechanism, etc. These models have been tested here, and they can provide competitive performance. In the future, other candidate architectures such as Multi-Head Self-Attention, Sequence-to-Sequence Autoencoder, or any combination of the above modules could be explored to attempt to further improve fraud detection performance. "
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Tags",
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
